基本情報技術者平成31年春期 午前問2

午前問2

最上位をパリティビットとする8ビット符号において,パリティビット以外の下位7ビットを得るためのビット演算はどれか。
  • 16進数0FとのANDをとる。
  • 16進数0FとのORをとる。
  • 16進数7FとのANDをとる。
  • 16進数FFとのXOR(排他的論理和)をとる。
  • [この問題の出題歴]
  • 基本情報技術者 H15秋期 問6
  • 基本情報技術者 H18春期 問6
  • 基本情報技術者 H26春期 問2

分類

テクノロジ系 » 基礎理論 » 離散数学

正解

解説

論理演算を利用したビット操作には、論理積(AND)を用いて特定位置のビットを取り出す操作と、排他的論理和(XOR)を用いて特定位置のビットを反転させる操作があります。

論理積(AND)演算の真理値表は次のようになっています。
02.gif/image-size:155×126
あるビットと"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」なので正解は「ウ」となります。
© 2010-2019 基本情報技術者試験ドットコム All Rights Reserved.

Pagetop