【高校情報】3分でわかる!誤り検出符号とパリティビットの違い
データの送受信中にノイズなんかで誤りが起こることって、あるの。
それが原因で送ったデータと受け取ったデータが変わっちゃったら大変よ。
そこで使われるのが誤り検出符号やパリティビットってわけ。
誤り検出符号(あやまりけんしゅつふごう)とは何者??
誤り検出符号とはズバリ、
データ送信時に誤りが起きたか検出するための仕組み
よ。

データに少しだけ情報を付け加えることで、間違いが起こったかどうかをチェックできるの。
なぜ誤り検出符号が必要なのか
たとえば、インターネット通信やWi-Fi通信では、途中でノイズの影響を受けることがあるの。
本来、
1011001
と送ったはずなのに、
1010001
のように、一部が変わってしまうこともあるわ。
そんな通信ミスを見つけるために使われるのが誤り検出符号よ。
誤り検出符号の仕組み
送るデータに、確認用の追加情報をくっつけて送信するの。
受け取った側は、その追加情報と元データを照らし合わせて、
- 正常に届いた
- どこかで誤りが起きた
と判断するのよ。
誤り検出符号の具体例
- Wi-Fi通信
- LAN通信
- QRコードの読み取り
- ハードディスクやUSBメモリ
- バーコードのチェック処理
見えないところで、私たちの生活をかなり支えている技術なのよ。
パリティビットとは何者??
さて、そんな誤り検出符号の中でもっとも有名なのがパリティビットよ。
これは、
データ中の「1」の数が偶数(または奇数)になるように、1ビット追加する方法
なの。
もし受信後に数が合わなければ、どこかで誤りが起きたと分かるのね。
パリティビットの仕組み
たとえば、次のデータがあるとするわ。
1011001
この中の「1」の数を数えると、4個あるわね。
4は偶数だから、偶数パリティなら追加するビットは「0」になるの。
つまり送信するデータは、
10110010
になるのよ。

もし途中で誤りが起きたら?
たとえば通信途中で1つの数字が変わって、
10100010
で届いたとするわ。
この場合、「1」の数は3個になってしまうの。
本来は偶数のはずなのに奇数になっているから、
どこかで誤りが起きた!
と分かるのよ。
偶数パリティと奇数パリティ
パリティビットには2種類あるわ。
- 偶数パリティ … 「1」の数を偶数にそろえる
- 奇数パリティ … 「1」の数を奇数にそろえる
どちらを使うかは通信ルールによって決まるの。
パリティビットのメリット
- 仕組みがシンプル
- 処理が速い
- 少ない追加データで確認できる
昔から広く使われてきた理由は、この手軽さにあるのよ。
パリティビットの弱点
ただし、万能ではないわ。
- 1ビットの誤りには気づきやすい
- 2ビット同時に誤ると気づけない場合がある
- どこが間違ったかまでは分からない
だから、より高い信頼性が必要な場面では、CRCなど別の方式も使われるの。
パリティビットはシンプルで便利なんだけど、1ビット分しかチェックできないから、2ビット以上の反転には対応できないの。再送要求なんかもあるから注意がいるわ。
誤り検出符号とパリティビットの違い
ここで少し混乱しやすいのが、誤り検出符号とパリティビットの違いよ。
結論からいうと、
パリティビットは、誤り検出符号の一種
なの。
つまり、
- 誤り検出符号 … 仲間全体の名前
- パリティビット … その中の代表メンバー
という関係になるわ。
たとえるならこんな感じ
- フルーツ = 誤り検出符号
- りんご = パリティビット
りんごはフルーツだけれど、フルーツ全部がりんごではないわよね。

それと同じで、
パリティビットは誤り検出符号だけれど、誤り検出符号すべてがパリティビットではない
ということなの。
ほかの誤り検出符号もある
パリティビット以外にも、誤り検出符号には次のようなものがあるわ。
- CRC(巡回冗長検査)
- チェックサム
- チェックディジット
つまり、パリティビットは入門編として有名な代表選手というイメージでOKよ。
それじゃあね!