[cpp007]位运算符

59 阅读1分钟

1、位运算符允许按照位来操作整型变量

  • 移位运算符: >> 把位向右移动, << 把位向左移动,移出变量两端的位被舍弃.
short num = 16387;
short res = num << 2; // 最后结果为12
十进制16387的二进制位:
01000000 00000011
往左移动2位结果位:
000000 0000001100 
转成十进制为:12

2、位模式下的逻辑运算

可使用4个位运算法: 

  • |  按位或运算符, 两个位操作,有一个位为1,结果为1.
  • & 按位与, 两个位操作,两个位都为1,结果才为1,否则为0
  • ^ 按位异或操作,两个对应的位不通,结果位1,位相同结果为0
  • ~ 按位求反, 1变成0,0变成1.