这个Bitwise表达式什么时候评估为true?

时间:2017-07-18 16:16:31

标签: bit-manipulation

1 个答案:

答案 0 :(得分:1)

考虑一下" 3"是4位二进制。

0011

对于某些数字x,何时表达式为" x& 3"是(即非零)?当x在其两个最低有效位中的任何一个中具有1时,这是真的。数字何时在其两个最低有效位中的任何一个中都没有1?考虑4的倍数:

4:      8:      12:        etc...

  0011    0011     0011
& 0100  & 1000   & 1100
  ----    ----     ----
  0000    0000     0000

TL; DR(i - 3)&当(i-3)不是4的倍数时,3评估为真。