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

  • Post author:
  • Post category:其他


循环校验码 (CRC 是一种只能检错不能进行纠错的校验码)

他其实是利用了模2除法的计算方式 我用下面的例子简述一下使用方法。

原始报文为 “11001010101”,其生成多项式为:x

4

+x

3

+x+1.对其进行CRC编码后的结果为?

首先要先理解生成的多项式 x

4

+x

3

+x+1的含义,其中最高的次方代表二进制的位数,在本例中最高次方为4则生成的二进制数则有5位,x

4

代表最高位为1,其余以此类推将得到一串二进制码为 11011

所谓循环校验码的实现就是将原始报文除以这段二进制码,但是再除之前,需要对原始报文先进行补位,如何补位呢,这个也很好补,补上 生成的二进制数的位数-1个 0即可,所以报文将变成110010101010000(补上了4个0)

所以这个时候我们用 110010101010000 模二除以 11011

这里要切记,模二除法与普通的除法不同,模二的除法其实就是对数据进行异或处理。

什么是异或呢:异或运算是指: 参与运算的两个值,如果两个相应位相同,则结果为0,否则为1

所以进行异或运算得出结果为:0011

在这里插入图片描述



版权声明:本文为nb_zsy原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。