算術論理和(|)は、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;
Go to list of users who liked
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;
Register as a new user and use Qiita more conveniently
Go to list of users who liked