位运算
位运算即是在位级别进行操作的技术,合适的位运算能够帮助我们得到更快的运算速度与更小的内存使用。
常见的位运算:
- 测试第k位:
s & (1 << k) - 设置第k位:
s |= (1 << k) - 第k位置零:
s &= ~(1 << k) - 切换第k位值:
s ^= ~(1 << k) - 乘以2^n:
s << n - 除以2^n:
s >> n - 交集:
s & t - 并集:
s | t - 减法:
s & ~t - 交换:
x = x ^ y ^ (y = x) - 取出最小非0位(Extract lowest set bit):
s & (-s) - 取出最小0位(Extract lowest unset bit):
~s & (s + 1) - 交换值:
x ^= y; y ^= x; x ^= y;
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 yupaits的博客!
评论

