データの誤り制御(パリティビット・CRC・ハミング符号)とは?でーたのあやまりせいぎょ
データの誤り制御(パリティビット・CRC・ハミング符号)とは、通信や記憶で生じるビットの化けを見つけ、方式によっては直す仕組み。パリティビットは1の個数を偶数(または奇数)に揃える1ビットの付加で1ビット誤りを検出でき、CRC(Cyclic Redundancy Check、巡回冗長検査)は多項式除算の余りで多ビットの誤りを高い精度で検出し、ハミング符号は誤りの位置を特定して1ビットなら訂正できる。
最終更新:2026-10-07
この語が出る過去問を解く →背景
電気信号や磁気は、ノイズや経年によって必ず一定の割合で化ける。受け取った側は化けたこと自体に気づけないので、誤ったデータを正しいものとして処理してしまう。そこで元のデータから計算した冗長なビットを一緒に送り、受信側でも同じ計算をして食い違いを見る、という発想が採られた。どこまで冗長にするかで、検出止まりか訂正までかが決まる。
具体例
偶数パリティなら、1000110は1の個数が3個なので1を足して4個(偶数)にする。受信側で数えて奇数になっていれば誤りと分かる。実装ではEthernetのフレーム末尾にCRC(FCS)が付き、サーバ用メモリのECCではハミング符号系の方式で1ビット誤りを自動訂正し、2ビット誤りは検出だけ行う。
試験での引っ掛け
パリティは検出まではできても訂正はできず、しかも2ビットが同時に化けると偶奇が元に戻って見逃す。訂正まで行えるのはハミング符号である。CRCも検出精度が高いだけで訂正はしない。冗長ビットは誤りを減らす仕組みではなく、誤りに気づくための仕組みだと押さえる。
関連用語
出た過去問
出典:平成30年度 秋期 高度試験 午前Ⅰ 問5(IPA)
メモリの誤り制御方式で、2ビットの誤り検出機能と、1ビットの誤り訂正機能をもたせるのに用いられるものはどれか。
正解:ハミング符号
要点:ハミング符号は1ビット訂正・2ビット検出(SEC-DED)
ハミング符号は、データビットに複数の検査ビット(冗長ビット)を付加し、誤りの位置を特定できるようにした誤り訂正符号である。一般にSEC-DED(拡張ハミング符号)として用いられ、1ビットの誤りは訂正でき、2ビットの誤りは訂正はできないが検出できる。このためメモリのECC(誤り訂正符号)として広く使われている。
出典:令和6年度 春期 高度試験 午前Ⅰ 問17(IPA)
ソフトウェア信頼度成長モデルの一つであって、テスト工程においてバグが収束したと判定する根拠の一つとして使用するゴンペルツ曲線はどれか。
正解:横軸をテスト項目消化数、縦軸を累積誤り検出数としたグラフで、S字型(初め緩やかに増加し、中盤で急激に増加し、終盤で緩やかに収束する)の曲線
要点:ゴンペルツ曲線はS字型の信頼度成長曲線
ゴンペルツ曲線は、テストの進行に対する累積誤り検出数を表す信頼度成長モデルの1つで、初めは緩やかに増え、中盤で急激に増加し、終盤で上限に漸近して緩やかになるS字型(シグモイド型)を描く。曲線が水平に近づいたことをもって、バグが収束したと判断する材料にする。
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。