如果指定 A = 60; 及 B = 13; 两个变量对应的二进制为:
A = 0 0 1 1 1 1 0 0
B = 0 0 0 0 1 1 0 1
1、& 按位与 对比两数 只有同时为1的情况下返回1 其他返回0
结果为 00001100 12
2、| 按位或 对比两数 只有同时为0的情况下返回0 其他返回1
结果为 00111101 61
3、^ 按位异或 对比两数 不同时返回1 相同返回0
结果为 00110001 49
4、~按位取反运算符 对一个操作数的每一位都取反
int为4个字节 0000 0000 0000 0000 0000 0000 0011 1100
取反 1111 1111 1111 1111 1111 1111 1100 0011
想要求其值 则 符号位不变 再次取反 加1
(~A ) 结果为 -61, 二进制为 1100 0011
5、<<按位左移 左移操作符(<<)将操作数的所有位向左移动指定的位数。如果左移一位 则第二位为第一位 拿0补全其他位
A<<2 结果为240 ,二进制位11110000
5、>>按位右移移 右移操作符(>>)将操作数的所有位向右移动指定的位数。如果右移一位 则第二位为第三位 拿0补全其他位
A>>2 结果为15 ,二进制位00001111