オリジナル模擬試験2 問1

次に示す手順は,列中の少なくとも一つは1であるビット列が与えられたとき,最も右にある1を残し,ほかのビットを全て0にするアルゴリズムである。例えば,00101000が与えられたとき,00001000が求まる。aに入る論理演算はどれか。
手順1 与えられたビット列Aを符号なしの2進数と見なし,Aから1を引き,結果をBとする。
手順2 AとBの排他的論理和(XOR)を求め,結果をCとする。
手順3 AとCのaを求め,結果をAとする。

[出典]基本情報技術者 平成18年秋期 問8

  • 排他的論理和(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とする。
選択肢の中から 00101000 a 00001111=00001000 を満たす論理演算を考えます。
  • 00101000 XOR 00001111=00100111
  • 00101000 NAND 00001111=11110111
  • 00101000 AND 00001111=00001000
  • 00101000 OR 00001111=00101111
したがって正解は「論理積(AND)」になります。

Pagetop