<<左移:相当于乘法。a << b = a * (2^b)
比如:
1 << 5,相当于1 × (2^5) = 32
1 << 0,相当于1 × (2^0) = 1
右移:相当于除法。a >> b = a / (2 ^ b)
比如:
16 >> 3,相当于16 / (2^3) = 2
与普通 / 相同, 16 >> 5的结果为0
&位与运算符:有0则0
|位或运算符:有1则1
^位异或运算符:相同则0,不同则1
^的特点:一个数据对另一个数据异或两次,该数本身结果不变(可用于数据加密)