位运算应用

来源:互联网 发布:达达主义摄影知乎 编辑:程序博客网 时间:2024/06/07 06:33

有时需要追求效率,会代替一些算术运算。

  • 求商: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
0 0
原创粉丝点击