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