パリティマジック

カードを1枚だけ裏返してください。どこを裏返したか、必ず言い当てます。

ステップ 1カードを並べる
ステップ 2パリティビットを追加
ステップ 31枚裏返す
ステップ 4言い当てる
③ カードを1枚クリック

まず「カードを並べる」を押してください。赤と黒がでたらめに並びます。

パリティマジックとは
カードを並べ、まわりに1列ずつ足しておきます。そのあとで誰かが1枚だけ裏返しても、 どこを裏返したかが必ず分かります。手品のようですが、種は計算です。

7ビットのデータに、1ビットを足して守る

ビットをクリックしても切り替えられます。金色の枠がパリティビットです。

受け取った側は、こう確かめます

本や商品の番号にも、検査用の数字が入っています

番号(数字をクリックすると変えられます)

いちばん右の点線の枠がチェックディジットです。他の12桁から計算で求まります。

計算のようす

打ち間違いを起こしてみましょう

よくある入力ミスを再現します。検査で見つかるでしょうか。

2枚裏返すと、どうなるでしょうか

パリティ検査で「誤りあり」と分かるかどうかを試してみてください。

ボタンを押して、カードを裏返してみてください。

まとめ

誤りの数 検出 位置の特定
1か所 できる できる(訂正も可能)
2か所 できる できない
4か所(長方形の角) できない できない

なぜ言い当てられるのか

手品の種は、事前に足しておいた1列にあります。

カードを並べたあと、それぞれの行と列について「赤いカードの数が偶数になるように」1枚ずつ追加します。これで、盤面のすべての行とすべての列で、赤の数が偶数に揃います。

この状態で誰かが1枚裏返すと、そのカードがある行と列だけ、赤の数が奇数に変わります。他の行や列は影響を受けません。ですから、奇数になっている行と列を探し、その交わったところが答えになります。

奇数になった行 × 奇数になった列 = 裏返されたカード

種を知ってしまえば単純ですが、これはコンピュータが実際に使っている誤り検出の考え方そのものです。

パリティとは

パリティ(parity)とは、日本語で「偶奇性」のことです。ある数が偶数か奇数かという性質を指します。

データ通信では、送るデータの中に含まれる「1」の個数が偶数か奇数かを調べ、その情報を1ビット付け加えて送ります。この付け加えるビットをパリティビットといいます。

偶数パリティと奇数パリティ

2つのやり方があります。

方式ルール例:1011010(1が4個)
偶数パリティ全体の1の個数が偶数になるようにする1011010 + 0
奇数パリティ全体の1の個数が奇数になるようにする1011010 + 1

どちらを使うかは、送る側と受け取る側であらかじめ決めておきます。仕組みとしては同じで、どちらが優れているということはありません。

受け取った側の確認

受信側は、届いたデータの1の個数を数えるだけです。偶数パリティなのに1の個数が奇数だったら、途中で何かが変わったと分かります。

この仕組みの良いところは、追加するのがたった1ビットで済むことです。7ビットのデータを守るのに1ビット、つまり約14%の増加だけで誤りに気づけます。回路も単純で、排他的論理和(XOR)を並べるだけで作れます。

この方法の限界

便利な仕組みですが、万能ではありません。

2ビット変わると気づけない

1の個数が2つ変わると、偶奇は元に戻ってしまいます。たとえば1が2個増えれば、偶数のままです。パリティ検査は「正常」と判断してしまいます。

一般に、パリティビットで検出できるのは奇数個の誤りだけです。偶数個の誤りは見逃します。

どこが間違ったかは分からない

1次元のパリティでは、「どこかが違う」ことは分かっても、「どこが違うか」は特定できません。そのため、誤りを見つけたらデータを捨てて送り直してもらうことになります。これを検出はできるが訂正はできない、といいます。

ただし、パリティマジックのように縦横の両方向にパリティを付けると、話が変わります。行と列の交点から位置を特定できるので、1か所の誤りなら訂正までできるのです。これを水平垂直パリティといいます。

実際に使われている場所

パリティチェックは、いまも幅広く使われています。

より強力な方式としては、CRC(巡回冗長検査)やハミング符号があります。QRコードが多少汚れても読み取れるのも、リード・ソロモン符号という誤り訂正の仕組みが入っているからです。考え方の出発点は、どれもこのパリティと同じです。

なぜ誤りが起きるのか

そもそも、データはなぜ壊れるのでしょうか。

通信では、電波や電気信号にノイズが混じります。近くの機器から出る電磁波、雷、機器そのものの熱による揺らぎ。こうした影響で、0が1に、1が0に変わってしまうことがあります。記録媒体でも、経年変化や宇宙線の影響でビットが反転することが知られています。

1ビットの反転でも、影響は深刻になりえます。金額のデータなら桁が変わり、プログラムなら誤動作します。だから、データを扱うあらゆる場面で誤り検出の仕組みが組み込まれているのです。

訂正まで行う仕組みへ

誤りを見つけたら送り直してもらう、という方法には限界があります。宇宙探査機からのデータのように、送り直すのに何時間もかかる場合。あるいは、CDやQRコードのように、そもそも送り直せない場合です。

そこで、誤りを見つけるだけでなく、その場で直してしまう仕組みが考え出されました。誤り訂正符号といいます。

考え方の基本は、パリティマジックと同じです。複数のパリティを組み合わせ、その結果から誤りの位置を特定します。ハミング符号では、パリティビットの当たり方を工夫することで、どのビットが誤っているかを数値として直接求められるようにしています。

QRコードが多少汚れたり欠けたりしても読み取れるのは、リード・ソロモン符号という強力な誤り訂正が組み込まれているためです。最大で全体の30%が失われても復元できる設定もあります。QRコードの真ん中に会社のロゴを載せられるのは、この余力を利用しているのです。

身近な確認用の数字

同じ考え方は、日常のあちこちに埋め込まれています。

対象しくみ
本のISBN最後の1桁が検査用の数字(チェックディジット)
商品のバーコード最後の1桁が検査用の数字
クレジットカード番号Luhnアルゴリズムという計算で確認
マイナンバー最後の1桁が検査用の数字

これらは、番号を手で入力したときの打ち間違いを見つけるための仕組みです。1桁打ち間違えたり、隣どうしの数字を入れ替えたりすると、計算が合わなくなります。パリティビットと同じく、少しの情報を足しておくことで、間違いに気づけるようにするという発想です。

チェックディジット

パリティと同じ考え方は、身近な番号にも使われています。本や商品の番号の最後についている1桁が、それです。チェックディジットといいます。

商品バーコード(JANコード)と本のISBNは、どちらも13桁で、同じ計算方法を使っています。

  1. 左から数えて奇数番目の数字を、そのまま合計する
  2. 偶数番目の数字を合計して、3倍する
  3. 1と2を足す
  4. 合計を10で割った余りを求める
  5. 10からその余りを引いた値が、チェックディジット(余りが0なら0)

なぜ位置によって1倍と3倍を使い分けるのでしょうか。すべて1倍で足すだけだと、隣り合った数字を入れかえても合計が変わりません。「12」を「21」と打ち間違えても気づけないのです。重みを変えることで、こうした入れかえミスも検出できるようになります。

この方式で見つけられるのは、1桁の打ち間違いのすべてと、隣り合う2桁の入れかえのほとんどです。ただし完全ではなく、差が5になる組み合わせの入れかえだけは見逃します。上のツールで実際に試せます。

レジで商品をスキャンしたとき、読み取りに失敗すると「ピッ」と鳴らずにやり直しになります。あれは、この計算が合わなかったということです。

使い方

授業では、実際にカードや磁石を並べて演示してから、このツールで種明かしをすると効果的です。

© 2026 情報ラボ ホーム カリキュラム対応表 画像のデジタル化 音のデジタル化 ラスタとベクタ 画像のビット演算 色の表し方 2進数・16進数 文字コード データはすべて0と1 パリティマジック コンピュータのしくみ 論理回路 アルゴリズム ネットワークのしくみ 電子メールのしくみ 情報システムとデータの流れ シミュレーション データの分析 機械学習 回帰と予測 クラスタリング 統計的推測 パスワードの強さ 暗号のしくみ あやしいメールを見分ける データ量の計算 データ圧縮 JPEGのくり返し保存 運営者情報・お問い合わせ プライバシーポリシー 更新履歴