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

次に示す手順は、列中の少なくとも一つは1であるビット列が与えられたとき、最も右にある1つを残し、ほかのビットをすべて0にするアルゴリズムである。
例えば、00101000が与えられたとき、00001000が求まる。aに入る論理演算はどれか。

 手順1 与えられたビット列Aを符号なし2進数とみなし、Aからを引き、結果をBとする。
 手順2 AとBの排他的論理和(XOR)を求め、結果をCとする。
 手順3 AとCの  a  を求め、結果をAとする。

 ア  排他的論理和(XOR)
 イ  否定論理積(NAND)
 ウ  論理積(AND)
 エ  論理和(OR)


答え ウ


解説
与えられたビット列A=00101000として手順どおりに実行してみます。
手順1
 B=A-1=00101000-1=00100111
手順2
 C=A XOR B=00101000 XOR 00100111=00001111
手順3
 AとCから00001000を求めるので、ア〜エの演算を試してみます。


キーワード
・排他的論理和
・否定論理積

キーワードの解説

戻る 一覧へ 次へ