平成30年秋期試験午前問題 問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)
正解 問題へ
分野:テクノロジ系
中分類:基礎理論
小分類:離散数学
設問に与えられたビット列「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)」になります。

この問題の出題歴


Pagetop