基本情報技術者 平成30年秋期 午前問2

午前問2

次に示す手順は,列中の少なくとも一つは1であるビット列が与えられたとき,最も右にある1を残し,他のビットを全て0にするアルゴリズムである。例えば,00101000が与えられたとき,00001000が求まる。aに入る論理演算はどれか。
手順1
与えられたビット列Aを符号なしの2進数と見なし,Aから1を引き,結果をBとする。
手順2
AとBの排他的論理和(XOR)を求め,結果をCとする。
手順3
AとCのaを求め,結果をAとする。
  • 排他的論理和(XOR)
  • 否定論理積(NAND)
  • 論理積(AND)
  • 論理和(OR)
  • [この問題の出題歴]
  • 基本情報技術者 H18秋期 問8
  • 基本情報技術者 H27春期 問1

分類

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

正解

解説

設問に与えられたビット列「00101000」を手順どおりに処理し,結果として「00001000」が得られる論理演算を求めます。

(手順1)
与えられたビット列Aを符号なしの2進数と見なし,Aから1を引き,結果をBとする。
 00101000−1=00100111
00100111をBとします。

(手順2)
AとBの排他的論理和(XOR)を求め,結果をCとする。
 00101000 XOR 00100111=00001111
00001111をCとします。

(手順3)
AとCのaを求め,結果をAとする。
選択肢の中から00101000a00001111=00001000を満たす論理演算を考えます。
  • 00101000 XOR 00001111=00100111
  • 00101000 NAND 00001111=11110111
  • 00101000 AND 00001111=00001000
  • 00101000 OR 00001111=00101111
したがって正解は「論理積(AND)」になります。
© 2010-2019 基本情報技術者試験ドットコム All Rights Reserved.

Pagetop