有时需要追求效率,会代替一些算术运算。
- 求商:a >> n <=> a / 2^n
- 求积:a << n <=> a * 2^n
- 求余:a & ((1 << n) - 1) <=> a % 2^n
- 奇偶判断:a & 1 == 1 <==> a % 2 == 1
一般1表示选中或者启动项,0表示未选或者关闭项。
- 获取全部项:(1 << n) - 1
- 获取第n项:1<<(n-1)
- 获取反选项:~a
- 启动目标项:a |= b
- 合并两选项:a | b
- 关闭目标项:a &= ~b
- 查看公共项:a & b
- 查看改变项:a1 ^ a2
- 查看未变项:~(a1 ^ a2) = ~a1 ^ a2 = a1 ^ ~a2
本文介绍了计算机科学中常用的位操作技巧,包括使用位移和按位与运算来快速实现除法、乘法、取模等算术运算,以及如何通过位操作管理选择项状态。这些方法不仅能够提高程序运行效率,还能简化代码。
881

被折叠的 条评论
为什么被折叠?



