bit演算 select fist flag

/

bit演算 select first flagについて

タグ


bit演算 select first flagについて

概要

  • ..xxx1010のようなbit arrayがある時、..xxx0010を取り出すアルゴリズム
  • Y & -Yを計算するだけなので簡単

具体な挙動

  • 00000000000001010 = Yがあるとき、このbitの反転は~Yである
  • 11111111111110101 = ~Y
  • -Y = ~Y + 1であるから11111111111110110 = ~Y + 1 = -Y
  • 00000000000000010 = Y & -Y

参考