cancel
Showing results for 
Search instead for 
Did you mean: 

What does the Expected CRC value mean in CRC, how to calculate it?

Shilpashree Madhu
Associate III
 
1 ACCEPTED SOLUTION

Accepted Solutions

Think of a CRC as doing a LONG DIVISION in school, the polynomial is the divisor, and the data stream the dividend, the "Expected CRC" is the REMAINDER from the whole computation.

Also as a consequence of this, if you tack the "Expected CRC" on the END, and complete the computation the remainder with drop to ZERO, as it now "divides" perfectly.

EXPECTED_CRC = DATA % POLYNOMIAL

(DATA + EXPECTED_CRC) / POLYNOMIAL == 0, where data is unmodified / as expected

Math done in the Galois / FInite Field

https://en.wikipedia.org/wiki/Finite_field

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..

View solution in original post

2 REPLIES 2
Piranha
Chief II

The expected CRC value is the one transferred together with the data from the source. The calculated CRC value is the one calculated from the received data at the destination. Compare both at the destination to determine if the data has been corrupted during the transfer.

Think of a CRC as doing a LONG DIVISION in school, the polynomial is the divisor, and the data stream the dividend, the "Expected CRC" is the REMAINDER from the whole computation.

Also as a consequence of this, if you tack the "Expected CRC" on the END, and complete the computation the remainder with drop to ZERO, as it now "divides" perfectly.

EXPECTED_CRC = DATA % POLYNOMIAL

(DATA + EXPECTED_CRC) / POLYNOMIAL == 0, where data is unmodified / as expected

Math done in the Galois / FInite Field

https://en.wikipedia.org/wiki/Finite_field

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..