基本情報技術者平成18年秋期 午前問8

問8

次に示す手順は,列中の少なくとも一つは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)
  • [出題歴]
  • 基本情報技術者 H27春期 問1
  • 基本情報技術者 H30秋期 問2

分類

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

正解

解説

設問に与えられたビット列「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とする。
選択肢の中から 00101000 a 00001111=00001000 を満たす論理演算を考えます。
  • 00101000 XOR 00001111=00100111
  • 00101000 NAND 00001111=11110111
  • 00101000 AND 00001111=00001000
  • 00101000 OR 00001111=00101111
したがって正解は「論理積(AND)」になります。
© 2010- 基本情報技術者試験ドットコム All Rights Reserved.

Pagetop