4 ms·
The code has a CRC code embedded. Why is it that every article mentioning CRC codes brings up that you can write them as polynomials? AFAICT it never makes a di
by superjan 5y ago
The code has a CRC code embedded. Why is it that every article mentioning CRC codes brings up that you can write them as polynomials? AFAICT it never makes a difference in implementation. What am I missing?
- deleted 5y ago[deleted]
- lifthrasiir 5y agoI think it is easier to extend a polynomial multiplication (known concept) with a finite field than to directly introduce a carryless multiplication. Also there are multiple different bitwise representations for the same polynomial, so separating them might avoid some confusion.
- superjan 5y agoThanks. I suppose that there is value in expressing the operations in a form that all agree is well defined.
- mananaysiempre 5y agoThat bitwise XOR is polynomial addition (and subtraction) in F_2[x] (polynomials with coefficients mod 2)? More immediately, it’s about the only way to unambiguously write which polynomial you mean, independent of endianness and similar notational issues. (The error correction properties don’t care about the way you arranged the bitstream into bytes or words.) But I find the knowledge that I am just implementing long division helpful, too. I did transcribe the beast mindlessly from a reference book a couple of times before I got it, but debugging it that way is pure hell.