Skip to main content
CRC Calc

CRC polynomial explained

CRC polynomial notation explained: the implicit top bit, and why normal and reflected forms of the same polynomial look different but define one CRC model.

7 min readParameters
01

What the polynomial controls

The generator polynomial determines how input bits affect the remainder register. Different polynomials provide different error-detection properties, but the polynomial is only one part of a complete CRC model.

For a width-n CRC, the highest x^n term is normally implicit. That is why a CRC-16 polynomial may be written as 0x1021 instead of a 17-bit value containing the leading one.

02

Normal and reflected notation

Documentation may show the same polynomial in normal or bit-reflected notation. For example, 0x1021 is commonly paired with reflected representation 0x8408.

Do not replace the polynomial merely because RefIn is enabled. A calculator must define which polynomial representation its engine expects.

03

Polynomial alone is not enough

Two models can share a polynomial and still produce different results because their initial value, reflection settings, or final XOR differ.

Apply this reference

Change CRC parameters and compare standard algorithm results using the browser-based calculator.