位运算是指按二进制位进行运算,运算符有一下几种
“&”按位与,“|”按位或,“~”取反,“^”按位异或
其真值表为:
a1 a2 & | ^
1 1 1 1 0
1 0 0 1 1
0 1 0 1 1
0 0 0 0 1
a1 ~
1 0
0 1
巧用异或
两个数异或的结果再与其中一个数异或,会得到另外一个数。
巧用按位与
按位与只有同时为1的时候才为1,所以可以用0000 1111来清零高字节,保留低字节。用1111 0000来清零低字节,保留高字节。
<<按位左移
>>按位右移
巧用左右移位
左右移也可以达到清零的作用。