排他的論理和の論理式
排他的論理和を表す論理式はどれか。ここで,論理変数AとBに対する排他的論理和の真理値表は次のように表される。また,ANDは論理積,ORは論理和,NOTは否定を表す。
ITパスポート平成25年度 春期 問82
- ア
- (A OR B) AND (A OR (NOT B))
- イ
- (A OR B) AND ((NOT A) OR (NOT B))
- ウ
- ((NOT A) OR B) AND (A OR (NOT B))
- エ
- ((NOT A) OR B) AND ((NOT A) OR (NOT B))
解答:イ
排他的論理和は、Aが0でBが1、Aが1でBが0のときに1を出力する。すなわちAとBの入力値が不一致のときに1を出力する。
論理式を変形して正解は得られる。しかし慣れないと手順が複雑になるため間違いやすい。論理式から真理値表を作成し、出力が排他的論理和になっているか確認する方法が確実である。
論理式から真理値表を作成する順序は次のとおりである。
- AとBの1と0の組み合わせをすべて書く
- 算の優先順位があるため、優先順位にしたがい論理式のかっこの中から順に演算結果を算出する。演算の優先順位は( )、NOT、AND、ORの順である。
解答群のアの論理式を例に真理値表を作成する。
AとBの1と0の組み合わせをすべて表す。
優先順位が高い最も内側のかっこである「NOT B」の出力を求める。「NOT B」はBが0のとき1、1のとき0に反転させたものである。
「A OR B」と「A OR (NOT B)」の演算結果を算出する。2つの式は同じ優先順位であるから、どちらの式から演算を行ってもよい。ここでは左側(A OR B)から順に演算を行う。
「A OR B」と「A OR (NOT B)」の演算結果に対してAND演算を行う。
(A OR B) AND (A OR (NOT B))の演算結果は排他的論理和になっていないことが確認できた。同じ手順で解答群のイの論理式から真理値表を作成する。
(A OR B) AND ((NOT A) OR (NOT B))の演算結果は入力AとBの排他的論理和になっている。よって排他的論理和の論理式は解答群イの「(A OR B) AND ((NOT A) OR (NOT B))」である。
関連サイト