首页 > 编程知识 正文

crc校验码例题,crc是做什么的

时间:2023-05-04 13:24:54 阅读:138700 作者:2658

CRC检查代码示例

另一方面,首先复习异或运算(XOR ),发现相同为0,不同为1。

二.多项式算术

使用多项式算术是因为在进行二进制计算时不需要考虑进位问题。

在CRC中使用的除数正是由多项式的各系数构成。

例如1、CRC除数为10111。

三.计算步骤

1 .展开多项式,得到CRC除数。

2 .数据列:在原始数据的末尾加上“0”,0的数量等于多项式的阶数(最高次)。 在上例中,阶数为4,添加4个0。

3 .将数据列的前1左对齐除数,逐位进行异或操作,未处理的数据跟随异或操作的结果,作为新的数据列重复操作

原始数据100111010、多项式1、除数10111、新数据串1001110100000

10011010100000;10110010010000 <101110010100000 > 10111000010000 > 10110110111中得到的结果为CRC校验和,长度为除数1 将校验和添加到数据项后,将生成带有CRC校验和的数据。 1001110100111。

需要注意的是,如果最终结果的有效位数较少,请添加并拼接相应位数的0 (等于多项式阶)。

接收方检查CRC :

100111010100111 > 101100100100111 > 1011100100111 > 101110000010111 > 101110000000可以被整除(余数为0 ),代码串正确无法整除(馀数不为0 ),代码串错误。

http://www.ip33.com/crc.htmlCRC在线计算网站,验证

结果不一致,一定是哪里有问题。 用单位数据计算的话,会得到和手动计算一样的结果。

查阅资料,发现crc生成多项式应当符合特定条件,不能自由选择。 3359 blog.csdn.net/ywb 201314/article/details/52084281? 位置编号=6

根据该报道,多项式1被用于3比特的信息代码的编码,与十六进制0-7、总代码长度7比特相对应。 因此,对于超过三位数的数据,不能保证准确性。 建议使用规范的多项式。

补充(来自百度) :

循环冗馀校验码(CRC )的基本原理:

如果在k位信息代码之后连接r位校验码,则总代码长度为n位,因此该代码也称为(n,k )代码。 对于某些(n,k )码,存在N-K=R的最高次幂的多项式g ) x ),可以证明根据g ) x )可以生成k比特信息的校验码。 g ) x )称为这个CRC码的生成多项式。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。