パリティビット計算機

2進データの偶数・奇数パリティを計算し、受信データの単一ビット伝送エラーを検証します。

2進データを入力し、偶数パリティまたは奇数パリティを選ぶだけで、パリティビット、完全な送信文字列、必要に応じた受信データ検証をすぐに確認できます。

パリティビット計算機
2進データの偶数・奇数パリティを計算し、受信データの単一ビット伝送エラーを検証します。

パリティビット計算機について

エラー検出は、信頼性の高いデジタル通信の要です。USBケーブル、Wi‑Fiリンク、ハードディスクの読み取りヘッド、長距離衛星通信など、ノイズのある経路でデータを送ると、通信中にビットが壊れる可能性があります。パリティチェックはそのようなエラーを見つける最も単純な仕組みの一つで、古い技術ではあるものの、組み込みシステム、シリアル通信プロトコル、コンピュータサイエンス教育で今も重要です。 パリティビットは、データブロックに付加される 1 ビットです。その値は、ブロック内の 1 の総数(パリティビット自身を含む)が特定の規則を満たすように決められます。偶数パリティでは 1 の総数が偶数でなければならず、奇数パリティでは奇数でなければなりません。送信側はこの規則に従ってデータとパリティビットを送信し、受信側は 1 の数を数え直します。規則に反していれば、少なくとも 1 ビットが破損しています。 偶数パリティビットの計算: 元データの 1 の数を数えます。すでに偶数ならパリティビットは 0(追加の 1 は不要)です。奇数ならパリティビットは 1(合計を偶数にする)です。奇数パリティでは逆で、すでに奇数なら 0、偶数なら 1 になります。 偶数パリティの例: data = 1011。1 が 3 個で奇数です。合計を偶数にするには、偶数パリティビット = 1。送信文字列: 10111。受信側は 1 を 4 個数え、偶数なのでメッセージを有効と判定します。もし 1 ビットが反転して 10110 を受け取ると、1 は 3 個で奇数になり、エラーを報告します。 奇数パリティの例: data = 1011。1 が 3 個で、すでに奇数です。合計を奇数に保つには、奇数パリティビット = 0。送信文字列: 10110。受信側は 1 を 3 個数え、奇数なので有効と判定します。もし 1 ビットが反転して 11110 を受け取ると、1 は 4 個で偶数になり、エラーを報告します。 偶数パリティと奇数パリティはいずれも、任意の単一ビットエラーを検出できます。どちらも 2 ビットエラーは見逃します。2 ビット反転ではパリティが保たれるためです。より強力な多ビットエラー検出には、より高度な符号が使われます。ハミングコードは 1 ビットエラーの訂正も可能で、CRC(巡回冗長検査)はバーストエラーを検出し、Reed-Solomon 符号は CD や QR コードのような記憶媒体で使われます。 この計算機は 1 つの画面で両方のパリティ方式をサポートします。入力が 2進数であることを検証し、パリティビットを計算し、送信文字列を生成し、必要に応じて受信文字列の 1 の総数が期待するパリティ規則に一致するかを確認します。

パリティビットの例

さまざまな 2進入力に対する偶数・奇数パリティビットの計算。

2進データパリティビット(偶数 / 奇数)送信文字列
10100(偶数)/ 1(奇数)1 が 2 個: 偶数 → 0; 奇数合計にするには → 1
11101(偶数)/ 0(奇数)1 が 3 個: 偶数合計が必要 → 1; すでに奇数 → 0
110011000(偶数)/ 1(奇数)1 が 4 個(偶数): 偶数パリティ = 0; 奇数パリティ = 1
101101000(偶数)/ 1(奇数)1 が 4 個(偶数): 偶数パリティ = 0(すでに偶数); 奇数パリティ = 1(合計を奇数にする)
11111111(偶数)/ 0(奇数)1 が 7 個(奇数): 偶数パリティ = 1; 奇数パリティ = 0

パリティビット計算機の使い方

  1. 「2進データ」欄に 2進文字列を入力します。0 と 1 のみ使用できます。
  2. 「パリティの種類」から「偶数パリティ」または「奇数パリティ」を選びます。
  3. 「計算」をクリックすると、パリティビット、1 の総数、完全な送信文字列が表示されます。
  4. 必要に応じて、受信文字列(データ + パリティビット)を「受信データ」に貼り付け、選択したパリティ規則で検証します。
  5. 「リセット」をクリックすると、すべての欄がクリアされ、新しい計算を始められます。

よくある質問

パリティビットとは何ですか?
パリティビットは、2進データのブロックに付加される 1 ビットです。その値は、結合された列の 1 の総数が偶数パリティ(1 の総数が偶数)または奇数パリティ(1 の総数が奇数)を満たすように設定されます。これにより受信側は単一ビットの伝送エラーを検出できます。
偶数パリティと奇数パリティの違いは何ですか?
偶数パリティは、1 の総数(データ + パリティビット)が偶数になるようにし、奇数パリティは奇数になるようにします。どちらも単一ビットエラーを同程度に検出できます。奇数パリティは、すべてのデータビットが 0 のときに非ゼロのパリティビットを保証できるため、0 固着の故障検出に役立つことがあります。
パリティは多ビットエラーを検出できますか?
パリティは、奇数個のビットエラー(1、3、5、…)なら検出できますが、同時に発生した偶数個のエラー(2、4、…)は見逃します。実際には 2 ビットエラーはまれですが起こり得ます。より強い保護が必要なら、ハミングコード、CRC、Reed-Solomon 符号を使います。
実システムではどこでパリティチェックが使われますか?
パリティは DRAM メモリ(ECC メモリは拡張パリティ/ハミングコードを使用)、シリアル通信(RS-232 や RS-485 の UART パリティビット)、IDE や SCSI のストレージインターフェース、多くの組み込みプロトコルで使われます。コンピュータサイエンスやデジタル電子工学の基礎概念としても教えられます。
なぜパリティビットはデータの末尾に置くのですか?
この計算機では、パリティビットをデータ文字列の末尾に付加します。これは単純なフレーミング形式で最も一般的な慣例です。プロトコルによっては(特定の UART 構成など)パリティビットを独立したフレームフィールドとして扱います。ビットの位置はエラー検出能力には影響せず、プロトコルのフレーミングにのみ影響します。
パリティとハミングコードはどう関係しますか?
ハミングコードは、複数のパリティビットの集合と考えられます。それぞれがデータビットの異なる部分集合を担当します。単一のパリティビットはエラーを検出するだけですが、ハミングコードはどのビットが誤っているかを特定することで、1 ビットエラーを検出・訂正できます。そのため ECC メモリやデータ保存用途で広く使われています。