論理積は、特定のビットを抜き出すことができます。
例えば、8ビットのビット列「11101001」から、下の4ビットを取得する演算をみてみましょう。
これって、どういう計算なんですか?
これは、8ビットの値同士の論理積を表現したものです。
ビット単位の論理演算では、同じ桁のビットごとに論理演算を行います。
ここで、抜き出したい部分が1で、それ以外の部分が0のビット列を作ります。
上の図の赤いビット列ですね。
このようなビット列をマスクビットと呼んでいます。
なるほど。今回は下の4ビットを抜き出したいので、
00001111
となるんですね。
その通りです。
このマスクビットと論理積を取ることにより、マスクビットが0の部分を0にし、1の部分はそのまま抜き出すことができます。
なるほど、特定のビットを抜き出すというより、特定のビット以外を0にする。と覚えても良さそうですね。
亜美さん、いいところに気が付きましたね。もちろん、その考え方でも構いません。
それでは、活用事例を見てみましょう。