有人能告诉我计算CRC码的步骤吗?生成多项式G(x)=10数据: 110附加了crc的消息:110
当数据除以G(x)时,余数为0。那么,这是否意味着CRC为0或零,或者这是可能的吗?
发布于 2012-10-05 14:41:45
除法的方式几乎和在学校一样:
10|110
10 (xor)
------
010
10 (xor)
-------
0 <- remainder唯一的区别是只需要检查每一行的msb
对于要放入部分余数的除数:
要检查crc,可以再次执行除法:
10|1100
10 (xor)
-------
100
10 (xor)
--------
00
10 (no xor)
-------
0 <-- remainder is 0, so the message is valid但有一些可疑之处:通常crc多项式有一个项+1,如果最高阶项是x^2 (例如)那么完全多项式有3项,其中只有2项传统上是显式声明的。那么你的多项式实际上是x^2 +1才有意义,它将以相反的顺序表示为1+ 0*x (省略+ 1* x^2项),然后余数将是两位
101|110
101
--------
11 <-- final remainder; concatenated message = 11011
checking message integrity:
101|11011
101
--------
1111
101
--------
101
101
--------
00 <-- checked!https://stackoverflow.com/questions/12740580
复制相似问题