I am having problems understanding how to calculate CRC because of the long math involved. I understand things like XOR, but all the examples use really long numbers. What is the breakdown of the steps and a really simple example?
There are many ways of approaching "understanding how to calculate CRC".
- How can I calculate some particular CRC? The bit-serial approach is the easiest to understand. See Wikipedia: CRC and the first quarter of Wikipedia: computation of CRC, and example code in JavaScript and C at CRC parameters.
- Why exactly is a properly-designed CRC guaranteed to detect a burst error with length one less than the length of the CRC? How do I design new CRC polynomials that are deliberately incompatible with previous standards? See Wikipedia: Mathematics of CRC
- How can I make my software CRC run faster, but still remain compatible with some particular CRC? What's up with all these tables of mysterious constants I see in "optimized" CRC code? See the rest of Wikipedia: computation of CRC and The CRC Pitstop.
精彩评论