応用情報技術者試験 令和4年春期 問4
ハミング符号とは,データに冗長ビットを付加して,1ビットの誤りを訂正できるようにしたものである。ここでは,X1,X2,X3,X4の4ビットから成るデータに,3ビットの冗長ビットP3,P2,P1を付加したハミング符号 X1 X2 X3 P3 X4 P2 P1 を考える。付加ビットP1,P2,P3は,それぞれ
X1⊕X3⊕X4⊕P1=0
X1⊕X2⊕X4⊕P2=0
X1⊕X2⊕X3⊕P3=0
となるように決める。ここで⊕は排他的論理和を表す。
ハミング符号 1110011 には1ビットの誤りが存在する。誤りビットを訂正したハミング符号はどれか。ア:0110011 イ:1010011 ウ:1100011 エ:1110111
出典 IPA公開[過去問題]:https://www.ipa.go.jp/shiken/mondai-kaiotu/gmcbt80000009sgk-att/2022r04h_ap_am_qs.pdf
ハミング符号「1110011」を「ハミング符号:X1 X2 X3 P3 X4 P2 P1」に当てはめていきます。
これを問題文にある式に代入していきます。
①X1 ⊕ X3 ⊕ X4 ⊕ P1=0
⇒ 1 ⊕ 1 ⊕ 0 ⊕ 1 = 0
②X1 ⊕ X2 ⊕ X4 ⊕ P2=0
⇒ 1 ⊕ 1 ⊕ 0 ⊕ 1 = 0
③X1 ⊕ X2 ⊕ X3 ⊕ P3=0
⇒ 1 ⊕ 1 ⊕ 1 ⊕ 0 = 0
排他的論理和では1の数が奇数の場合、結果は1になります。しかし、実際に演算してみると全ての式で1の数が奇数なのに結果は0になっています。本来は0が出力されるはずなので全ての式が間違えていることになります。問題文では「1ビットの誤りが存在する」とあるので間違いは1か所だけです。全ての式に共通しているX1を0にすることで全ての式の演算結果が0になります。
正解は、「ア:0110011」です。