問題プレビューID: a6ea500b

問 2

最上位をパリティビットとする 8 ビット符号において,パリティビット以外の下位 7 ビットを得るためのビット演算はどれか。

解説

8 ビット符号のうち,最上位がパリティビットで,残りの下位 7 ビットを取り出したい。あるビット列の特定のビットだけを残すには,残したいビットの位置を 11,消したいビットの位置を 00 としたマスクと論理積(AND)をとる。

下位 7 ビットを 11,最上位 1 ビットを 00 としたマスクは 0111 11112=7F160111\ 1111_2 = 7F_{16} である。したがって,7F167F_{16} との AND をとれば,最上位のパリティビットを 00 にし,下位 7 ビットをそのまま得られる。よって,正解は「ウ」である。

  • ア 0F16=0000 111120F_{16} = 0000\ 1111_2 では上位ビットまで消えてしまう。
  • イ OR ではビットを消せない。
  • エ FF16FF_{16} との XOR では全ビットが反転してしまう。