奇数パリティビット計算機
バイナリデータの奇数パリティビットを生成し、単一ビット誤り検出でデータ整合性を確認します。
バイナリデータを入力すると、奇数パリティビットを計算し、完全な送信文字列を生成できます。必要に応じて受信したバイナリ文字列の検証も可能です。
奇数パリティビット計算機
バイナリデータの奇数パリティビットを生成し、単一ビット誤り検出でデータ整合性を確認します。
奇数パリティビット計算機について
パリティチェックは、デジタルデータにおける単一ビットの送信エラーを検出するための、最も古く広く使われている手法の一つです。パリティビットは、バイナリデータのブロックに付加される 1 ビットの追加情報です。送信側はデータに基づいてパリティビットを計算し、拡張されたメッセージを送信します。受信側はパリティを再計算して差異がないか確認します。
奇数パリティでは、結合されたシーケンス(データビット + パリティビット)全体の 1 の数が常に奇数でなければなりません。元のデータの 1 の数がすでに奇数なら、パリティビットは 0 に設定されます(合計を変える必要がないため)。データの 1 の数が偶数なら、パリティビットは 1 に設定されます(合計を偶数から奇数へ反転させるため)。ルールは単純です。データ内の 1 を数え、合計が奇数になるようにパリティビットを選びます。
具体例として、1010 を送信したいとします。このバイトには 1 がちょうど 2 個あり、偶数です。奇数パリティではパリティビットは 1 でなければならないので、完全な送信文字列は 10101 になります。受信側が 10101 の 1 を数えると 3 個で、奇数です。そのためメッセージは正常と判定されます。もし送信中に 1 ビットが反転して 11101 として届いた場合、受信側は 1 を 4 個数え、偶数となるため、エラーが発生したと直ちに判断できます。
奇数パリティと偶数パリティの違いは、目標の総数が偶数ではなく奇数である点だけです。どちらの方式も、1 ビットの反転でパリティが奇数⇔偶数に変わるため、単一ビット誤りを検出できます。ただし、2 ビットが同時に反転するとパリティは保たれるため、どちらも検出できません。より高度な誤り検出や訂正が必要な場合は、ハミング符号、CRC、Reed-Solomon などが使われます。
制約はあるものの、奇数パリティは古い RS-232 設定を含むレガシーなシリアル通信規格、特定のメモリサブシステム、そして誤り検出の基礎を学ぶ教育現場で今も見られます。奇数パリティは、すべて 0 のデータワードでもパリティビットが必ず 0 以外になるため、バス上の 0 固着障害をわずかに検出しやすいという理由で、偶数パリティより好まれることもあります。
この計算機は、空白の除去、入力が純粋なバイナリかの検証、1 の数のカウント、正しい奇数パリティビットの決定、そしてシステムにコピーできる完全な送信文字列の出力まで、すべて自動で行います。任意の検証欄では、受信した文字列(データ + 付加されたパリティビット)を貼り付けると、合計の 1 が奇数か(合格)偶数か(失敗、単一ビット誤りを示す)を即座に確認できます。
奇数パリティビットの例
下の表は、いくつかのバイナリ入力に対して奇数パリティビットがどのように計算されるかを示しています。
| バイナリデータ | パリティビット | 送信文字列 |
|---|---|---|
| 1010 | 1 | 1 が 2 個(偶数)→ パリティビット = 1。送信: 10101 |
| 1110 | 0 | 1 が 3 個(奇数)→ パリティビット = 0。送信: 11100 |
| 11001100 | 1 | 1 が 4 個(偶数)→ パリティビット = 1。送信: 110011001 |
| 10110100 | 1 | 1 が 4 個(偶数)→ パリティビット = 1。送信: 101101001 |
| 11111111 | 1 | 1 が 8 個(偶数)→ パリティビット = 1。送信: 111111111 |
奇数パリティビット計算機の使い方
- 送信したいバイナリ文字列を「バイナリデータ」欄に入力します(0 と 1 のみ)。
- 「計算」をクリックすると、1 の数、必要な奇数パリティビット、完全な送信文字列がすぐに表示されます。
- 送信文字列(データ + パリティビット)をコピーして受信側に送ります。
- 受信した文字列を検証するには、「受信データ」欄に貼り付けて「計算」をクリックします。ツールが 1 の総数が奇数かどうかを確認します。
- 「リセット」をクリックすると、すべての欄をクリアして新しい計算を始められます。
よくある質問
奇数パリティとは何ですか?
奇数パリティは、バイナリデータにパリティビットを追加して、結合されたシーケンス(データ + パリティビット)全体の 1 の数が常に奇数になるようにする誤り検出方式です。データ中の 1 が奇数ならパリティビットは 0、偶数なら 1 になります。
奇数パリティと偶数パリティの違いは何ですか?
偶数パリティは 1 の総数が偶数になるようにし、奇数パリティは奇数になるようにします。どちらも単一ビット誤りを検出できます。奇数パリティの利点は、すべて 0 のメッセージでも必ず 1 のパリティビットが付くため、バスの 0 固着障害を見つけやすいことです。
パリティチェックで全てのエラーを検出できますか?
いいえ。パリティチェックは単一ビット誤りの検出には有効ですが、2 ビットが同時に反転するとパリティは変わらず、誤りは見逃されます。より堅牢な誤り検出が必要なら CRC やハミング符号を使ってください。
奇数パリティは今でもどこで使われていますか?
奇数パリティは、RS-232 などのレガシーなシリアル通信規格、古い UART 設定、特定のメモリモジュールで使われています。また、誤り検出の基礎を教える教育現場でも広く用いられています。
パリティビットの位置はどう決まりますか?
多くのプロトコルでは、パリティビットは送信フレームの最後に付加されますが、先頭に置く標準や特定の位置を使う標準もあります。この計算機では、最も一般的な慣例としてデータ文字列の末尾にパリティビットを付加します。
すべて 0 のデータの奇数パリティビットは何ですか?
すべて 0 のデータでは 1 の数は 0(偶数)なので、奇数パリティビットは常に 1 です。これが、奇数パリティが好まれることがある理由の一つです。全 0 のデータワードがそのまま全 0 で送られることを防ぎ、信号喪失の検出に役立ちます。