次に示す手順は、列中の少なくとも一つは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) |
ビット列Aが、00101000 を例に説明する。
手順3で(a)を求めて結果が00001000となるのは、ウ)論理積 (AND)である。