按位与 (&):

a = 2, b = 3

a & b = 2

解释: 2的二进制为'10',3的二进制为'11',按位与:都为1时得1,出现0时得0,因此结果是'10',即2

按位或(|):

a = 6, b = 5

a | b = 7

解释:6='110',5='101',按位或,每一位二进制上进行或操作,得到'111',即7

按位异或(^):

a = 2, b = 4

a ^ b = 6

解释:2='10', 4='100', 结果为'110',即6

异或:相同为0,不同为1

按位取反(~):

~2 = -3
~(-2) = 1
~0 = -1

按位取反:先+1再取相反数。

左移(<<):

2 << 1 = 4

解释:2='10', 左移1位变为'100',即4

右移(>>):

2 >> 1 = 1

解释: 2='10', 右移一位变为'1',即1