高度情報処理技術者試験・情報処理安全確保支援士試験 令和6年度 春期 午前I 問2
符号長7ビット、情報ビット数4ビットのハミング符号による誤り訂正の方法を、次のとおりとする。 受信した7ビットの符号語x₁ x₂ x₃ x₄ x₅ x₆ x₇(xₖ=0又は1)に対して c₀=x₁+x₃+x₅+x₇ c₁=x₂+x₃+x₆+x₇ c₂=x₄+x₅+x₆+x₇ (いずれもmod 2での計算) を計算し、c₀、c₁、c₂の中に少なくとも一つは0でないものがある場合には、 i=c₀+c₁×2+c₂×4 を求めて、左からiビット目を反転することによって誤りを訂正する。 受信した符号語が1000101であった場合、誤り訂正後の符号語はどれか。
選択肢を押すと答え合わせができます。
正解と解説を見る
【正解】エ
受信語1000101を左から順にx₁~x₇へ対応させると、(x₁、x₂、x₃、x₄、x₅、x₆、x₇)=(1、0、0、0、1、0、1)です。各検査値をmod 2で計算すると、c₀=x₁+x₃+x₅+x₇=1+0+1+1=3なので1、c₁=x₂+x₃+x₆+x₇=0+0+0+1=1、c₂=x₄+x₅+x₆+x₇=0+1+0+1=2なので0です。したがって、i=c₀+2c₁+4c₂=1+2×1+4×0=3となります。左から3ビット目の0を1へ反転すると1010101となるため、エが正解です。訂正後は三つの検査値が全て0になり、整合性も確認できます。
アの1000001は誤りです。これは左から5ビット目を反転した結果ですが、計算で得た誤り位置は3です。
イの1000101は誤りです。受信語を訂正せず、そのままにしたものです。検査値に1が含まれるので反転処理が必要です。
ウの1001101は誤りです。これは左から4ビット目を反転した結果であり、求めた位置と一致しません。
【ポイント】 ハミング符号では、検査結果c₀、c₁、c₂を2進数の各桁とみなし、誤りのあるビット位置を求めます。 位置は右からではなく、問題の指定どおり左から数える点に注意してください。
出典:令和6年度 春期 高度情報処理技術者試験・情報処理安全確保支援士試験 午前I 問2
※ 解説は SkillStack 編集部が作成したものです。Web 表示のため、図表の配置や表記を一部改めています。
この回の30問を、アプリで通しで解く
- 本番と同じ問題数・制限時間で通し演習(模試モード)
- 間違えた問題は自動で「復習すべき問題」に回る
- 解説で分からない点はAIに質問できる