麻烦告诉我循环冗余校验(CRC)算法的实现思路
时间: 2023-08-06 17:05:26 浏览: 75
循环冗余校验(CRC)算法是一种常用的数据校验方法,其实现思路如下:
1. 确定生成多项式G
2. 在需要进行校验的数据后面添加r个0,r为生成多项式G的次数-1,得到一个新的数据序列D
3. 将D进行二进制转化,得到比特串B
4. 初始化一个长度为G的寄存器R,所有比特都为0
5. 从B的左侧开始依次将比特输入R,每次输入一位比特,就进行一次异或运算
6. 所有比特输入完毕后,R中存储的值即为校验码
7. 将校验码附加到原数据后面,得到新的数据序列D'
8. 将D'进行传输,接收方对D'进行同样的计算,得到校验码R'
9. 比较R和R'是否相等,若相等,则数据传输正确,否则出现错误
注意:生成多项式G必须是不可约的,且最高次项系数为1,否则可能会出现误判。
阅读全文