問1 ハミング符号とは、データに冗長ビットを付加して、1ビットの誤りを訂正できるようにしたものである。ここでは、X1、X2、X3、X4の4ビットから成るデータに、3ビットの冗長ビットP3、P2、P1を付加したハミング符号X1X2X3P3X4P2P1を考える。付加ビットP1、P2、P3はそれぞれ
X1 xor X3 xor X4 xor P1 = 0
X1 xor X2 xor X4 xor P2 = 0
X1 xor X2 xor X3 xor P3 = 0
となるように決める。ここで、xorは排他的論理和を表す。
 ハミング符号1110011には1ビットの誤りが存在する。誤りビットを訂正したハミング符号はどれか。

ア 0110011  イ 1010011  ウ 1100011  エ 1110111


正解 ア


解説

排他的論理和とは、左右どちらかの値が1の時に1、それ以外の時は0になる論理演算の一つ。
誤りビットを訂正したハミング符号、つまり、正しいハミングを選択するには、すべての選択肢に対し以下の式で検算して、0になればよいです。

X1 xor X3 xor X4 xor P1 = 0
X1 xor X2 xor X4 xor P2 = 0
X1 xor X2 xor X3 xor P3 = 0


選択肢アの場合

X1 X2 X3 P3 X4 P2 P1
0 1 1 0 0 1 1
0 xor 1 xor 0 xor 1 = 0
0 xor 1 xor 0 xor 1 = 0
0 xor 1 xor 1 xor 0 = 0
選択肢アの検算結果がすべて 0 のため、正解はアで、これ以上は検算の必要はありません。
最後まで回答して時間に余裕があったら、他の選択肢も検算してみるとよいでしょう。

選択肢イの場合

X1 X2 X3 P3 X4 P2 P1
1 0 1 0 0 1 1
1 xor 1 xor 0 xor 1 = 1
1 xor 0 xor 0 xor 1 = 0
1 xor 0 xor 1 xor 0 = 0


選択肢ウの場合

X1 X2 X3 P3 X4 P2 P1
1 1 0 0 0 1 1
1 xor 0 xor 0 xor 1 = 0
1 xor 1 xor 0 xor 1 = 1
1 xor 1 xor 0 xor 0 = 0


選択肢エの場合

X1 X2 X3 P3 X4 P2 P1
1 1 1 0 1 1 1
1 xor 1 xor 1 xor 1 = 0
1 xor 1 xor 1 xor 1 = 0
1 xor 1 xor 1 xor 0 = 1