概要
データ通信って、目に見えないからエラーが起こっても気づきにくいよね。そこで今回は、データ通信のエラーを防ぐために欠かせない「パリティチェック」について、女子高生目線でわかりやすく解説するよ!
説明
パリティチェックって、簡単に言うとデータに「チェックビット」って名のおまけの情報を付け加えて、送受信するデータに誤りがないかを確認する方法なんだ。例えば、送るデータが「0101」だったら、パリティチェックでは「01011」みたいに1個おまけのビットを追加するんだ。
で、受信側では送られてきたデータとチェックビットの合計が偶数か奇数かを確認するんだ。もし偶数のはずなのに奇数になっていたら、データに誤りがあるってことがわかるんだよ。
パリティチェックの種類
パリティチェックには、偶数パリティと奇数パリティの2種類があるんだ。
- 偶数パリティ: 送信データとチェックビットの合計が偶数になるように設定する方式。1ビットの誤りなら検出できるけど、2ビット以上の誤りには弱いのが欠点。
- 奇数パリティ: 送信データとチェックビットの合計が奇数になるように設定する方式。偶数パリティの欠点を克服して、2ビットまでの誤りなら検出できる。
パリティチェックのメリット・デメリット
- メリット:
- 比較的簡単な仕組みで実装できる。
- 低コストで導入できる。
- 1ビットまでの誤りなら確実に検出できる。
- デメリット:
- 2ビット以上の誤りには弱い。
- チェックビットが必要なので、データ量が少しだけ増える。
パリティチェックの例
例えば、ASCIIコードで文字「A」を送信する場合を例に考えてみよう。ASCIIコードでは、「A」は「01000001」というビット列で表されるんだ。
- 偶数パリティの場合:
- 送信データ: 01000001
- チェックビット: 1 (01000001の1の個数が奇数なので、偶数になるように1を追加)
- 送信されるデータ: 010000011
- 奇数パリティの場合:
- 送信データ: 01000001
- チェックビット: 0 (01000001の1の個数が偶数なので、奇数になるように0を追加)
- 送信されるデータ: 010000010
受信側では、送られてきたデータとチェックビットの合計が設定していたパリティと一致するかを確認することで、データに誤りがないかどうかを判断するんだ。
まとめ
パリティチェックは、データ通信における誤り検出の基礎的な技術なんだ。簡単な仕組みで低コストで導入できるのがメリットだけど、2ビット以上の誤りには弱いというデメリットもある。近年ではより高度な誤り検出・訂正技術も開発されているけど、パリティチェックは今でも広く利用されているんだ。