Edited at

ビット演算 [1]:特定のビットの状態のみを取り出す

More than 5 years have passed since last update.

算術論理積(&)は、1 & 1 の場合のみ 1 で他は 0 を返す。

(1&0 = 0, 0&1 = 0, 0&0 = 0)

見方を変えると x & 1 = 1, x & 0 = 0 となるので、

取り出したい場所のビットを1にした mask と、調べたい変数との算術論理積演算を行うと、目的とする場所のビットのみを取り出すことが出来るぞ。

例えば、変数 x の下位4bitのみを取り出したい場合は、以下のように記述する。


x & 0x0f