離散数学(全64問中16問目)

nビットの値 L1,L2がある。次の操作によって得られる値L3は,L1とL2に対するどの論理演算の結果と同じか。

〔操作〕
  • L1とL2のビットごとの論理和をとって,変数Xに記憶する。
  • L1とL2のビットごとの論理積をとって更に否定をとり,変数Yに記憶する。
  • XとYのビットごとの論理積をとって,結果をL3とする。

出典:平成28年春期 問 1

  • 排他的論理和
  • 排他的論理和の否定
  • 論理積の否定
  • 論理和の否定
正解 問題へ
分野:テクノロジ系
中分類:基礎理論
小分類:離散数学
解説
ビット列L1=10101010,ビット列L2=11110000 を例として操作の様子を確認していきます。

[操作(1)]
2つのビット列の論理和なので、2つのビットの一方または双方が"1"になっている部分を"1"としたビット列が変数Xに格納されます。
01_1.gif
[操作(2)]
2つのビット列の論理積の否定なので、2つのビットがともに"1"ある部分以外を"1"としたビット列が変数Yに格納されます。
01_2.gif
[操作(3)]
変数X
2つのビットの一方または双方が"1"の部分が"1"
変数Y
2つのビットがともに"1"の部分以外が"1
という2つのビット列の論理積をとった結果は、以下のように変数Xの"1"のうち両方のビットが"1"であった部分が取り除かれた形となり、L1とL2排他的論理和(XOR)と等しくなります。
01_3.gif
したがって正解は「ア」です。

【別解】
変数X、変数Yの集合をベン図で表し、両者の論理積をとった結果の集合を見て、適合する論理演算を判断します。
01_4.gif

Pagetop