循环校验码 CRC 原始报文为 “11001010101”,其生成多项式为:x^4^+x^3^+x+1.对其进行CRC编码后的结果为?

放肆的年华 提交于 2020-01-26 14:25:59

循环校验码 (CRC 是一种只能检错不能进行纠错的校验码)
他其实是利用了模2除法的计算方式 我用下面的例子简述一下使用方法。

原始报文为 “11001010101”,其生成多项式为:x4+x3+x+1.对其进行CRC编码后的结果为?
首先要先理解生成的多项式 x4+x3+x+1的含义,其中最高的次方代表二进制的位数,在本例中最高次方为4则生成的二进制数则有5位,x4代表最高位为1,其余以此类推将得到一串二进制码为 11011
所谓循环校验码的实现就是将原始报文除以这段二进制码,但是再除之前,需要对原始报文先进行补位,如何补位呢,这个也很好补,补上 生成的二进制数的位数-1个 0即可,所以报文将变成110010101010000(补上了4个0)
所以这个时候我们用 110010101010000 模二除以 11011
这里要切记,模二除法与普通的除法不同,模二的除法其实就是对数据进行异或处理。
什么是异或呢:异或运算是指: 参与运算的两个值,如果两个相应位相同,则结果为0,否则为1
所以进行异或运算得出结果为:0011
在这里插入图片描述

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!