从(1)看,你已经考虑了算法要求的初值问题,从(3)看,你已经考虑了数据的排列问题,使用的是低位先传输低位先校验的方式,那还有两个问题:计算步骤,从你的讲述上,你是先判断最低位为1,做异或,再移位,这个步骤不符合要求。应该是先判断最低位为1,先移位,再做异或;如果最低位为0,则移位,但不做异或。具体的原理一下说不清楚,我借花献佛,推荐你搜一下一个文档:“我学习CRC32、CRC16、CRC 原理和算法的总结(与WINRAR 结果一致)”,其中“三 直接计算法”可以解决你的问题,但建议你把之前的一二都看了,我前段时间做以太网的CRC32校验的时候被整的死去活来,最后发现这个文档讲得很有条理,虽然应用不同,但原理相同,感谢作者。确定一下你最后的CRC码是否需要取反,因为很多传输用的算法,如果要对CRC校验码后的0的个数敏感,是需要对其CRC码取反的,你做完1后,如果结果还不对,可以试着取反试试。最后再确定一下算法要求的CRC码值的排放顺序,这个也会影响你最终结果的表现形式。差点被你绕进去了,你的计算是使用的检查最低位,向右移的方式,那你的生成多项式是不是也已经相应的进行了翻转?将高低位按序反着放了?建议你还是找到你要做的这个算法的规范文本,确认一下规则。
谁能把crc校验一步步算出来?计算CRC码的步骤为:(1).预置16位寄存器为FFFFH。称此寄存器为CRC寄存器;(2
1个回答
相关问题
-
采用CRC进行差错校验,生成多项式为G(X)=X4+X+1,信息码字为10111,则计算出的CRC校验码是怎么求的?
-
计算CRC校验码问题有一个(7,4)码,生成多项式G(X)=X3+X+1,请写出代码0011的CRC校验码.会的希望能详
-
已知生成多项式为x³+x+1,信息码为1010,则CRC校验码为多少?
-
CRC校验码的计算问题已知要传送的数据是859D,生成多项式是10011B,求CRC校验码;实际传送的码序列是什么样的?
-
采用CRC校验的生成多项式为G(x)=x的16次方+x的15次方+x的平方+1,它产生的校验码()位.
-
原始1011001,生成11001,计算CRC码
-
已知生成多项式为:G(x)=x4+x3+x2+1,求信息位1010101的CRC冗余位及相应的CRC码字.(要求写出计算
-
CRC校验码的生成多项式为G(X)=X5+X4+X2+1,要发送的数据比特序列为
-
(1)把BX寄存器和DX寄存器的内容相加,结果存入DX寄存器。 (2)用寄存器BX和SI的基址变址寻址方式把存储
-
计算传输信息码 1001011000111001所CRC码其生成多项式为G(X)=X4+X+1