一.基本运算符
1.按位与(&)
按位都为1结果为1,否则为0。
n & (n-1)消除最低位1
2.按位或(|)
按位有一个为1结果为1,都为0结果为0。
3.按位异或(^)
按位相同为0,不同为1。
重要性质
a ^ a = 0; a ^ 0 = a; 当a & b = 0 时a+b= a ^ b
4.按位取反(~)
二进制0变1,1变0。
5.左移(<<)右移(>>)
左移低位补0(相当于乘以2^k),右移高位补0(相当于除以2^k)。
补充技巧
在此引入十六进制数0xFFF(即12位每位都为1对应的0xFFFF是16位每位为1)
由此可以展开一些操作比如
代码如下
