Edited at

ビット演算 [2]:特定のビットを1にする

More than 5 years have passed since last update.

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

(1|0 = 1, 0|1 = 1, 1|1 = 1)

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

1にしたい場所のビットを1にした mask と、ビットを立てたい変数との算術論理和演算を行うと、目的とする場所のビットを立てる(1にする)ことが出来るぞ。

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

x |= 0x0f;