偶奇判定計算機 - 偶数/奇数検出
数が偶数か奇数かを判定し、2進データのパリティビットを計算して、10進・2進・16進の各数体系で誤り検出を行います。
10進、2進(0b 接頭辞)、16進(0x 接頭辞)のいずれかで数値を入力し、数体系とパリティ種別を選んでから[計算]をクリックしてください。
偶奇判定計算機 - 偶数/奇数検出
数が偶数か奇数かを判定し、2進データのパリティビットを計算して、10進・2進・16進の各数体系で誤り検出を行います。
偶奇判定計算機について
偶奇は、数論とデジタル電子工学で最も基本的かつ広く使われる概念のひとつです。2 で割り切れて余りがなければ偶数、そうでなければ奇数です。整数は必ずこの 2 つのどちらかに属し、どの数体系で表しても分類は変わりません。10進の 42、2進の 0b101010、16進の 0x2A はすべて同じ偶数を表します。
パリティビットは、2進データワードに 1 ビット付加して、1 の総数を偶数または奇数にそろえるためのビットです。これはデジタル通信における最も単純な誤り検出方式の基礎です。送信側が 8 ビットのデータバイトに偶パリティビットを付け、受信側が 1 の総数が引き続き偶数かを確認すれば、転送中に発生した単一ビット誤りはチェック結果を変え、すぐに検出できます。パリティチェックは、シリアル通信ポート、DRAM メモリチップ、RAID ディスクアレイ、初期の通信プロトコルなどで使われています。
この計算機は 3 つの数体系に対応します。10進数は日常生活で使うおなじみの 10 進法です。2進数はあらゆるデジタルハードウェアの基本となる数体系です。16進数は、メモリダンプやレジスタ値を読む際にエンジニアが好む、コンパクトな 16 進表記です。自動判定モードでは、2進の 0b 接頭辞と 16進の 0x 接頭辞を認識し、接頭辞のない入力は 10進数として扱います。セレクタで数体系を明示的に固定することもできます。
結果パネルには、偶数/奇数の判定に加えて、数値の 2進展開と 1 のビット数(ハミング重み、popcount とも呼ばれます)も表示されます。この 2 つの値があれば、任意の非負整数の偶奇を完全に表せます。データ整合性チェックで扱う大きな数についても、ハミング重みはすべてのビット位置を調べるのではなく、立っているビットだけを走査すればよいため、大きな値でも効率的です。
偶奇は、組合せ論、数論、抽象代数学でも中心的な役割を持ちます。置換論では、置換の符号はその偶奇で定義されます。合同算術では、偶数と奇数は整数の最も単純な非自明商環を成します。したがって偶奇の理解は、初等算術からコンピュータアーキテクチャ、デジタル通信、そして高度な数学へとつながる入口概念です。このツールは標準的なケースをすべて扱い、スムーズな作業のために自動基数判定もサポートします。
偶奇判定計算機の例
数体系ごとの偶数/奇数判定とパリティビット計算を示す代表例です。
| 入力 | 結果 | 説明 |
|---|---|---|
| 42(10進数、自動判定) | 偶数; 偶パリティビット = 1 | 42 の 2進数は 101010 で、1 のビットは 3 個(奇数)なので、偶パリティビットは 1 です。42 自体は偶数です(42 ÷ 2 = 21、余りなし)。注意: 数値の偶奇とパリティビットは別の概念です。 |
| 0b1011(2進数 11) | 奇数; 偶パリティビット = 1 | 10進値は 11 です。2進数 1011 には 1 のビットが 3 個あるため、偶パリティビットは 1 になります。11 自体は奇数です(2 で割り切れません)。 |
| 0xFF(16進数 255) | 奇数; 偶パリティビット = 0 | 0xFF の 2進数は 11111111 で、1 のビットは 8 個(偶数)なので、偶パリティビットは 0 です。10進値の 255 は奇数です。 |
| 0(10進数のゼロ) | 偶数; 偶パリティビット = 0 | 0 には 1 のビットがありません(個数 = 0、これは偶数)ので、偶パリティビットは 0 です。ゼロは数学的に偶数と定義されます。 |
偶奇判定計算機の使い方
- 「数値入力」欄に数値を入力します。10進数はそのまま整数を入力し、2進数は 0b 接頭辞を付け(例: 0b1010)、16進数は 0x 接頭辞を付けます(例: 0xFF)。
- 特定の基数を強制したい場合は「数体系」を選び、自動的に接頭辞を判定させたい場合は「自動判定」のままにします。
- 使っている誤り検出方式に応じて「偶パリティ」または「奇パリティ」を選びます。シリアル通信では偶パリティの方が一般的です。
- [計算]をクリックします。パネルには数値の偶奇、計算されたパリティビット、2進表現、16進の等価表現が表示されます。
- [リセット]をクリックすると入力をすべて消去できます。別の値と比較したい場合は数値を変えて再度[計算]を押してください。
偶奇判定計算機の FAQ
数の偶奇とパリティビットの違いは何ですか?
数の偶奇とは、その数が偶数か奇数か、つまり 2 で割り切れるかどうかを指します。パリティビットは、2進データワードに付加して 1 の総数を所定の規則に合わせるための 1 ビットです。両者は関連していますが別物です。数の偶奇は値そのものを表し、パリティビットはビット列に加える誤り検出用の仕組みです。
パリティビットはどう計算しますか?
データワード中の 1 のビットをすべて数えます(この数はハミング重みと呼ばれます)。偶パリティでは、1 の数が奇数なら総数を偶数にするためにパリティビットを 1 にし、すでに偶数なら 0 にします。奇パリティでは逆です。受信側はパリティビットを含めた受信ビット全体で再計算し、食い違いがあれば送信エラーと判断します。
単一ビットのパリティで全ての誤りを検出できますか?
単一ビットのパリティでは、奇数個のビット誤りしか検出できません。ちょうど 2 ビットが反転した場合、データが壊れていてもパリティチェックは通ってしまいます。より高い信頼性が必要な場合、エンジニアは CRC(巡回冗長検査)、単一ビット誤りの検出と訂正ができるハミング符号、あるいはストレージや放送システムで使われる Reed-Solomon 符号のような、より強力な手法を使います。
なぜ 0 は偶数なのですか?
0 ÷ 2 = 0 で余りがないため、0 は 2 で割り切れます。これは偶数の数学的定義に合致します。…, −4, −2, 0, 2, 4, … という並びとも一致します。2進数では 0 には 1 のビットが 0 個しかなく、これは偶数なので、偶パリティビットも 0 になります。
なぜエンジニアは 2進数ではなく 16進数を使うのですか?
2進文字列はすぐに長くなります。32 ビットの数には 32 個の数字が必要です。16進数は、1 桁がちょうど 4 ビットに対応するコンパクトな略記なので、32 ビットの数を 8 桁の 16進数で表せます。4 ビットごとに 1 つの 16進文字へ対応するため、両者を自由に行き来できます。
実際にはどこでパリティチェックが使われますか?
偶パリティは、ほとんどのシリアル UART 通信で標準です。DRAM モジュールは、各バイトごとに追加のパリティビットを使って単一ビットのメモリエラーを検出します。RAID-4 と RAID-5 のディスクアレイは、複数ドライブにわたって XOR パリティを保存し、1 台の故障ディスクを再構築できるようにします。IPv4 ヘッダーには 16 ビットのチェックサムがあり、同じパリティ的な考え方を一般化したものです。