Cyclic Redundancy Checking (CRC)
Otro método, superior al VRC, que es muy empleado en la detección de error en un bloque de
información es el Polynomial Code, conocido también como Cyclic Redundancy Check (CRC).
Una cadena de bits es considerada como la representación de los coeficientes de un polinomio,
con valores 0 o 1. De tal forma, un frame de k bits se asocia a la lista de coeficientes de un
polinomio con k términos, desde xk−1 hasta x0. Este polinomio tendrá grado máximo k − 1.
Así, a título de ejemplo, 110001 tiene 6 bits y representa un polinomio con coeficientes 1, 1, 0,
0, 0 y 1: x5 + x4 + 1.
La aritmética a emplear para la suma y resta es en módulo 2, no hay ni carries para la
suma ni borrows para la resta. Ambas resultan equivalentes al xor (⊕) de los bits de ambos
operandos.
La división se desarrolla de la forma conocida salvo que:
Se trabaja para la resta en módulo 2.
Las magnitudes de divisor y dividendo no cuentan en la determinación de si está o no
contenido el divisor en el dividendo. Todo lo que interesa es que el número de bits del
divisor, el cual comienza con un 1, se corresponda (sea igual) al número de bits del
dividendo, el cual para la comparación se requiere comience con un 1.