循环冗余校验码计算例题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

循环冗余校验码计算例题
假设有一组数据101101,我们要计算它的循环冗余校验码(CRC码),假定生成多项式为x^3+1(即二进制表示为1011),则计算过程如下:
1. 将数据101101左侧填充3个0,得到0101101 000。

2. 取出左侧的4位作为初始值,即0101。

3. 从左至右取出剩余的位,包括生成多项式的次数所对应的位,即从第5位开始。

每次计算的方法是:将当前的4位和下一位(或生成多项式的次数所对应的位)进行异或操作,将结果作为新的4位。

重复此过程,直到取出所有位。

- 第一次计算:0101 异或 1 = 0100
- 第二次计算:1000 异或 1 = 1001
- 第三次计算:0011 异或 0 = 0011
- 最终得到的4位就是计算出来的CRC码,即0011。

4. 将CRC码添加到原始数据末尾,得到最终的发送数据:101101 0011。

接收端收到数据后,也可以按照同样的方式计算CRC码,然后将计算出的CRC码和接收到的CRC码进行比较,如果相同则说明数据未出错,否则说明数据出现了错误。

需要注意的是,生成多项式的选择对于CRC码的计算和校验非常重要,不同的生成多项式可能会产生不同的CRC码,导致校验结果不准确。

因此,在实际应用中,需要根据具体情况选择合适的生成多项式。

相关文档
最新文档