次に示す手順は、列中の少なくとも一つは 1 であるビット列が与えられたとき、最も右にある 1 を残し、他のビットを全て 0 にするアルゴリズムである。例えば、00101000 が与えられたとき、00001000 が求まる。a に入る論理演算はどれか。 - 手順1:与えられたビット列 A を符号なしの 2 進数と見なし、A から 1 を引き、結果を B とする。 - 手順2:A と B の排他的論理和(XOR)を求め、結果を C とする。 - 手順3:A と C の[ a ]を求め、結果を A とする。
ウ. 論理積(AND)
ビット列 A から 1 を引いた B では、最も右の 1 ビット位置から下位の 0 ビット全てが反転する。A XOR B によりこの反転領域がマスクとして得られ、A AND C で最右の 1 のみを残せる。例: A=00101000, B=00100111, C=A XOR B=00001111, A AND C=00001000。
基本情報技術者試験 令和元年度 科目A 修了認定試験 の過去問一覧へ戻る・問2