次に示す手順は、列中の少なくとも一つは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)
ウ
【手順1】
00101000−1 = 00100111
これが結果Bである。
【手順2】
00101000 XOR 00100111 = 00001111
これが結果Cである。
00101000と00001111の演算が 00001000 であるということは、
1、2、4桁目: 0と0で 0
3桁目: 1と0で 0
5桁目: 1と1で 1
6、7、8桁目: 0と1で 0
これらの結果が得られるのは、論理積 (AND) である。
問1 | 目次 | 問3 |