正答3
解説
正解は3です。
8ビットのうち最上位の1ビットだけを0にし、下位7ビットをそのまま残す演算(マスク処理)を選ぶ問題です。
AND(論理積)は、マスク側のビットが1の位置だけ元の値を残し、0の位置を0にします。
【選択肢別解説】
1:× 16進数0Fは2進数で00001111です。
ANDをとると下位4ビットしか残らず、下位7ビットのうち上位3ビットが0になってしまいます。
2:× 0FとのORをとると、下位4ビットがすべて1に書き換わります。
パリティビットも消えないため、下位7ビットを取り出せません。
3:○ 16進数7Fは2進数で01111111です。
ANDをとると最上位ビットだけが0になり、下位7ビットは元の値のまま残ります。
4:× FFとのXOR(排他的論理和)をとると、全ビットが反転します。
下位7ビットを取り出す操作ではありません。
【ポイント】
特定のビットを取り出すときは、残したい位置を1にしたマスクとANDをとります。
ORは特定のビットを1にするとき、XORは特定のビットを反転するときに使うと整理しておきましょう。