&:按位与
说明:全1为1,否则为0
例子:24&23
24 = 16 + 8 = 2^4+2^3 = 0001 1000
23 = 16 + 4 + 2 + 1 = 2^4+2^2+2^1+2^0 = 0001 0111
24&23 = 0001 1000 & 0001 0111= 0001 0000 = 16
|:按位或
说明:全0为0,否则为1
例子:24|23
24 = 16 + 8 = 2^4+2^3 = 0001 1000
23 = 16 + 4 + 2 + 1 = 2^4+2^2+2^1+2^0 = 0001 0111
24|23 = 0001 1000 | 0001 0111= 0001 0000 = 0001 1111 = 15+16 = 31
^:按位异或
说明:同为0,不同1
例子:24^23
24 = 16 + 8 = 2^4+2^3 = 0001 1000
23 = 16 + 4 + 2 + 1 = 2^4+2^2+2^1+2^0 = 0001 0111
24^23 =0001 1000^ 0001 0111=0001 0000
<<:左移
说明:有符号的左移
例子:
133 = 0000 0000 0000 0000 0000 0000 1000 0101
133<<2 = 00 0000 0000 0000 0000 0000 1000 0101 00
-133 = 1000 0000 0000 0000 0000 0000 1000 0101
-133<<2 = 10 0000 0000 0000 0000 0000 1000 0101 00
>>:右移
说明:有符号的右移
例子:
133 = 0000 0000 0000 0000 0000 0000 1000 0101
133>>2 = 00 0000 0000 0000 0000 0000 0000 1000 01
-133 = 1000 0000 0000 0000 0000 0000 1000 0101
-133>>2 = 11 1000 0000 0000 0000 0000 0000 1000 01
>>>:无符号右移
说明:有符号的右移
例子:
133 = 0000 0000 0000 0000 0000 0000 1000 0101
133>>>2 = 00 0000 0000 0000 0000 0000 0000 1000 01
-133>>>2 = 00 1000 0000 0000 0000 0000 0000 1000 01