CRC parameters
CRC polynomial explained
Understand polynomial notation, implicit top bits, normal form, and reflected form.
7 min read
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.
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.
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.
Try it in the calculator
Change CRC parameters and compare standard algorithm results using the browser-based calculator.