#40

パリティビット:誤りを見つける仕組み

1ビット付け足すだけで通信の誤りを検出する仕組みを試します。

解説

通信では、ノイズなどで0が1に(または1が0に)化けてしまうことがあります。これを見つける最も簡単な方法がパリティビットです。 偶数パリティでは「データ全体の1の個数が偶数になるように」もう1ビット付け足します。受信側が1の個数を数えて、奇数だったら「どこかで誤りが起きた」と分かります。ここでは送信後にわざと1ビット反転させ、検出できることを確認します。

書き方

・sum(data): リスト内の数値の合計(=1の個数)を求める。
・ones % 2: 2で割った余りで偶数パリティビットを計算。
・data + [parity]: リストの連結でパリティビットを末尾に付け足す。
・sent[:]: リストの浅いコピー。
・1 - received[2]: 0と1を反転させて誤りを再現。
・sum(received) % 2: 受信側で1の個数の偶奇を判定。

書いて動かす

この回の課題

データの1の個数が偶数になるようパリティビットを付け、1ビット反転させて誤りを検出してみよう。

コードはあなたの端末の中だけで動きます(サーバーには送られません)。進み具合もこのブラウザに保存されます。

もっと本格的に使うなら

Windows版 InsightPy なら、書いたコードを保存して業務の自動化まで進められます。学習センターはずっと無料です。