離散数学(全109問中11問目)

午前試験免除制度対応!基本情報技術者試験のeラーニング【独習ゼミ】
最上位をパリティビットとする8ビット符号において,パリティビット以外の下位7ビットを得るためのビット演算はどれか。

出典:平成31年春期 問 2

  • 16進数0FとのANDをとる。
  • 16進数0FとのORをとる。
  • 16進数7FとのANDをとる。
  • 16進数FFとのXOR(排他的論理和)をとる。
正解 問題へ
分野:テクノロジ系
中分類:基礎理論
小分類:離散数学
解説
論理演算を利用したビット操作には、論理積(AND)を用いて特定位置のビットを取り出す操作と、排他的論理和(XOR)を用いて特定位置のビットを反転させる操作があります。

論理積(AND)演算の真理値表は次のようになっています。
02.png
あるビットと"1"の論理積演算は、被演算ビットが0であれば結果が0、1であれば結果が1になるので被演算ビットがそのまま結果に反映されるという特徴をもっています。
  • 0 AND 1 = 0
  • 1 AND 1 = 1
逆に、あるビットと"0"の論理積演算の結果は常に0になります。
  • 0 AND 0 = 0
  • 1 AND 0 = 0
この問題では8ビット符号のうち下位7ビットを取り出したいので、最上位ビットを0、下位7ビットを"1"としたビット列「0111 1111」を用意し、8ビット符号との論理積をとることで下位7ビットだけを取り出せます。

2進数「0111 1111」を16進数で表すと「7F」なので正解は「ウ」となります。

この問題の出題歴


Pagetop