一些位运算表达式的含义
位运算的含义
- \(lowbit(x)\),找到x的二进制数的最低位的1所表示的二进制
比如\(x=6=00000110_{2}\),\([-x]_{补}=11111010_{2}\),\(lowbit(x)=\)x & (-x)
\(=10_{2}=2\)。
x & (-x)
- 奇偶数判断
若x的二进制数的最后一位为1,为奇数;否则为偶数。
奇数:
(x & 1) == 1
偶数:
(x & 1) == 0
- 乘/除2的幂
乘以\(2^{n}\):
x = x << n
除以\(2^{n}\):
x = x >> n
- 将x的第i位取反
x = x ^ (1 << i)
- 将x的二进制中最低位的1改为0
x = x & (x - 1)
- 让两个相同的数运算结果为0
x = x ^ x