[toc]
# 目的
仅仅是为了摘记算法
# 异或性质
1 | x^0 = x |
# 构造特殊 Mask, 将对应位置放 0 或 1
x 最右边的 n 位清零
1 | x & (~0<<n) |
获取 x 的第 n 位值 (0 或者 1)
1 | (x>>n) & 1 |
获取 x 的第 n 位的幂值
1 | x & (1<<(n-1)) |
仅将第 n 位置为 1
1 | x (1<<n) |
仅将第 n 位置为 0
1 | x & (~(1<<n)) |
将 x 最高位至第 n 位 (含) 清零
1 | x&((1<<n)-1) |
将第 n 位至第 0 位 (含) 清零
1 | x&(~((1<<(n+1))-1)) |
# 特殊意义的 & 位运算操作
判断奇偶
1 | x&1 ==1 |
将最低位 (LSB) 的 1 清零
1 | x&(x-1) |
得到最低位 (LSB) 的 1
1 | X & -X |
1 | X&-X=0 |