Skip to main content
CRC Calc

CRC glossary: terms and notation

Quick definitions for CRC terms the parameter guides don't spell out — notation, verification terms, and error-detection theory.

6 min readFundamentals
01

Polynomial representations

A CRC generator polynomial can be written down in more than one valid hex form, because a degree-n polynomial always has an implicit x^n term (coefficient 1) and, for the polynomials CRCs actually use, an explicit x^0 term that is also 1. Different references drop different one of those two fixed bits, which produces different-looking hex values for the exact same mathematical polynomial.

  • Normal form — the standard representation this site and most calculators use: an n-bit hex value with the implicit top term (x^n) dropped. CRC-32/ISO-HDLC's polynomial is written 0x04C11DB7 in normal form.
  • Reversed form — the normal form with its n bits read in the opposite order (bit-reversed), used internally by table-driven engines that shift the register right instead of left. CRC-32/ISO-HDLC's polynomial in reversed form is 0xEDB88320; CRC-16/CCITT's 0x1021 reverses to 0x8408.
  • Koopman notation — keeps the implicit top bit explicit instead and drops the bottom bit (also always 1) rather than the top one, so it looks like a different hex value from the same polynomial. CRC-32/ISO-HDLC's polynomial in Koopman notation is 0x82608EDB. It is common in academic literature comparing polynomials by error-detection strength.
  • Reversed reciprocal form — the bit-reversal of the Koopman form, appearing as a fourth notation alongside normal, reversed, and Koopman in some CRC references, including the Catalogue of CRC Algorithms. CRC-32/ISO-HDLC's polynomial in this form is 0xDB710641.
02

Verification terms

These terms describe how a CRC is confirmed to be correct, as distinct from how it is calculated.

  • Check value — the CRC of the fixed ASCII test string 123456789, published for every catalogued model as a compact interoperability test.
  • Residue — the fixed, model-specific remainder produced by processing a valid message immediately followed by its own correctly encoded CRC; used to validate a complete received codeword in one pass instead of separating data from CRC.
  • Frame Check Sequence (FCS) — the general telecom term for a trailing error-detection field appended to a frame; in HDLC, X.25, and similar link-layer protocols the FCS is specifically a CRC.
03

Error-detection theory

These terms describe why a CRC catches the errors it catches, rather than how to compute one.

  • GF(2) (Galois field of two elements) — the arithmetic CRC division actually uses: addition and subtraction are both XOR, and there is no carry. A message is treated as one large binary polynomial and divided by the generator polynomial using this arithmetic.
  • Codeword — the data being protected together with its correctly appended CRC, treated as a single polynomial. A receiver can either recompute the CRC and compare it, or divide the entire codeword by the generator polynomial and check the result against the residue.
  • Hamming distance — the minimum number of single-bit changes needed to turn one valid codeword into a different valid codeword for a given CRC and message length. A larger Hamming distance means more simultaneous bit errors are guaranteed to be caught, which is why polynomial choice — not just width — affects detection strength.
  • Burst error — a contiguous run of corrupted bits, as opposed to isolated single-bit errors scattered through a message. An n-bit CRC is guaranteed to detect every burst error shorter than or equal to n bits, which is a large part of why CRCs are preferred over simple additive checksums on links prone to noise bursts.
04

Go deeper

This glossary is intentionally short — each term below has a full guide that works through it with examples.

Apply this reference

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