a = 13 二进制:0000 1101
b = 13 二进制:0000 1101
ps:13的二进制为1101,在前面加几个零结果都一样
& 按位与运算符:参与运算的两个值,如果两个相应位数都为1,则该位结果为1,否则为0
a&b = 13 二进制:0000 1101
| 按位或运算符:只要对应的两个二进制位中有一个为1,则结果为1
a|b = 13 二进制:0000 1101
^ 按位异或运算符,当两对应的二进制相异时,结果为1
-
a^b = 0 二进制:0000 0000
- 按位取反运算符:对数据的各二进制位全部取反,把0变1,1变0,类似于-a-1
~a = -14
<< 左移运算符,运算的各二进制全部左移若干位,由<<右面的数字指定移动数位,高位丢弃,低位补零
a<<2 = 52 二进制:0011 0100
右移运算符,运算的各二进制全部右移若干位,由<<右面的数字指定移动数位,低位丢弃,高位补零
a>>2 = 3 二进制: 0000 0011