正答3
解説
正解は3です。
偶数パリティビットcは、x1、x2、x3とcを合わせた1の個数が偶数になるように付けるビットです。
データ中の1の個数が奇数ならc=1、偶数ならc=0にするので、cは3ビットの排他的論理和になります。
図の4つの回路は、どれもx1とx2を最初のゲートに入れ、その出力とx3を2段目のゲートに入れてcを出力しています。
【選択肢別解説】
1:× 1段目が論理積(AND)、2段目が論理和(OR)の回路で、c=(x1・x2)+x3です。
例えばx1=1、x2=0、x3=0では1が1個なのにc=0となり、偶数パリティになりません。
2:× 選択肢1の回路の出力に否定(NOT)を付けた回路です。
例えばx1=0、x2=0、x3=0ではc=1となり、1の個数が奇数になるため誤りです。
3:○ 1段目、2段目ともに排他的論理和(XOR)の回路で、c=x1⊕x2⊕x3です。
データ中の1が奇数個のときだけc=1となるので、全体の1の個数が必ず偶数になります。
4:× 選択肢3の回路の出力に否定を付けた回路です。
データ中の1が偶数個のときにc=1となり、全体の1が奇数個になるので、奇数パリティを生成する回路です。
【ポイント】
排他的論理和は、入力中の1が奇数個のとき1を出力します。
偶数パリティはXORをそのまま使い、奇数パリティはその否定を使うと覚えます。