Cyclic Redundancy Check

送信側の計算
  1. 入力データをメッセージ多項式 M(x) と変形する。
  2. 生成多項式 P(x) の最高次項 xk と M(x) をかけて xkM(x)とする。
  3. xkM(x) を P(x) で割る。
  4. この余りが CRC 符号となる。但し、以上での演算には modulo 2 という演算を使う。
    0 + 0 = 0, 1 + 0 = 1, 0 - 1 = 1
    0 + 1 = 1, 1 + 1 = 0, 1 - 0 = 1
受信側の計算
  1. 受信データは CRC 符号付きデータである。これを生成多項式 P(x) で割り、その 余りが 0 であれば正常。余りが出ればエラー。
計算プログラム例