本記事では基本情報技術者試験でも出題されるパリティチェックについて解説しています。
目次は以下の通りです。
符号化の種類
符号化の種類は2種類あります。
・通信している途中で起きた誤りを検出・訂正する作業を受信者が行える符号化
・送信する情報を短くすることで通信効率を高める符号化
パリティチェックは前者の符号化方式で他にもCRCとハミング符号があります。まあ、厳密にいうと訂正はできないですが、、、
パリティチェックとは?
パリティチェックとは送信データに含まれる1の数を偶数か奇数かどうかを確かめる方式です。奇数個なら1、偶数個なら0を前につける感じです。ちなみにこの数字をパリティビットといい、下の感じで表します。
1010→01010(先頭がパリティビットです)
送信者と受信者にパリティビットがついており、これが一致していればおっけ!逆にちがければ誤りを検出したということになります。
パリティチェックの具体例
無事に伝わった例と伝わらなかった例を示します。
- 01010を送るとき、
01010を送り、受信側は01010を受け取ったとします。
そのあと、1010の1の個数は偶数個であることから、パリティビットは0であり、一致することがわかります。
なので、誤りなしといえます。
- 01010を送るとき、
01010を送ったが、なぜか01110になり、受信側は01110を受け取ったとします。
そのあと、1110の1の個数は奇数個であることから、パリティビットは1であり、一致しないことがわかります。
なので、誤りありといえます。
パリティチェックの注意点
注意点として2点あります。
それは
・訂正できない点
・偶数個誤りがあったら検出できない点
です。
前者については訂正できないので、送信側に再度データの送信を求めるしかないです。後者については例を示した方が早いので、例を示します。
例えば、送信側が01010、受信側が01111となった場合、データは誤っているけど、1の個数は両方とも偶数個ですよね。この場合は誤りを検出できないことになります。
※ちなみに解決策として垂直水平パリティチェックというものもあるらしいです。
まとめ
本記事では基本情報技術者試験でも出題されるパリティチェックについて説明しました。パリティチェックは、通信中の誤りを検出するための方式です。この方法では、送信データに含まれる1の数が偶数か奇数かを確認するために、パリティビットと呼ばれるビットを使用します。送信側と受信側でパリティビットが一致すれば、データは正しく送信できていると判断できます。
コメント