基础位运算:我们只需要记住以下口诀:
&按位与:有0就是0
| 按位或:有1就是1
^ 按位异或:相同为0,相异为1 / 无进制相加(两个1相加不向高处进位)
基本操作
1、给一个数n,确定它的二进制表示中的第 x 位是0还是1
( n >> x ) & 1
2、将一个数n的二进制表示的第 x 位修改成1
n | = ( 1 << x )
3、将一个数n的二进制表示的第 x 位修改成0
n & = ( ~ ( 1 << x ) )
4、提取一个数n的二进制表示中最右侧的1
n & -n
5、干掉一个数n的二进制表示中最右侧的1
n & ( n - 1 )
6、异或运算律
a ^ 0 = a
a ^ a = 0
a ^ b ^ c = a ^ ( b ^ c )