按位与 &
两个数同样的二进制位都为1,才是1,否则是0
可以用来判断奇偶,末位是0表示偶数,末位是1表示奇数。
a & 1 为 1表示奇数,为0表示偶数
按位或 |
两个数同样的二进制位只要有一个为1,才是1,否则是0
想要把哪一位强行变1, 或这个位数对应的二进制数
我们只使用a|1把a的最后一位强行变成1,其实质意义是把原数加一
按位异或 ^
两个二进制数进行异或(^)运算,对应位相异,返回1,反之返回0.
一个数经过两次异或之后等于原数
左移运算 <<
左移运算a<<b的实质就是a×2b。
右移运算 >>
右移运算a>>b的实质就是a / 2b。
常用的操作
最低位清0
x & (x-1)