nビットの値 L1、L2がある。次の操作によって得られる値L3は、L1とL2に対するどの論理演算の結果と同じか。
〔操作〕
(1) L1とL2のビットごとの論理和をとって、変数Xに記憶する。
(2) L1とL2のビットごとの論理積をとって更に否定をとり、変数Yに記憶する。
(3) XとYのビットごとの論理積をとって、結果をL3とする。
ア 排他的論理和
イ 排他的論理和の否定
ウ 論理積の否定
エ 論理和の否定
ア
(1) より X = L1 ∪ L2
(2) より Y = NOT(L1 ∩ L2)
(3) より L3 = X ∩ Y
L3 = X ∩Y
= (L1 ∪ L2) ∩ NOT(L1 ∩ L2)
= (L1 ∪ L2) ∩ (NOT(L1) ∪ NOT(L2))
= ((L1 ∪ L2) ∩ NOT(L1)) ∪ ((L1 ∪ L2) ∩ NOT(L2))
= ((L1 ∩ NOT(L1)) ∪ (L2 ∩ NOT(L1)))
∪ ((L1 ∩ NOT(L2)) ∪ (L2 ∩ NOT(L2)))
= (φ ∪ (L2 ∩ NOT(L1))) ∪ ((L1 ∩ NOT(L2)) ∪ φ)
= (L2 ∩ NOT(L1)) ∪ (L1 ∩ NOT(L2))
従って、排他的論理和となり、アが正解である。
【別解】
下図で、
(1) は Y1、Y2、Xの部分
(2) は Y1、Y2、Y3の部分
(3) は (1) と (2) の共通部分だから Y1とY2の部分で、これは排他的論理和である。
イの排他的論理和の否定は、X、Y3の部分。
ウの論理積の否定は、Y1、Y2、Y3の部分。
エの論理和の否定は、Y3の部分。
目次 | 問2 |