本文主要是介绍CRC校验码计算:多项式除法-模2除法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
问题1
-
循环冗余校验码(Cyclic Redundancy Check,CRC)是数据通信领域中最常用的一种差错校验码,该校验方法中,使用【多项式除法】,也就是【模2除法】运算后的余数为校验字段。
-
如数据信息为
n
位,则将其左移k
位后,被长度为k+1
位的【生成多项式】相除,所得的k
位余数即构成k
个校验位,构成n+k
位编码。 -
若数据信息为
1100
,生成多项式为X³ + X + 1
,即(1011),则CRC编码如何计算?
计算方法
- 原始数据:
1100
,左移3位,这里的3
,就是【生成多项式】最高次方,如X³
,最高为3
,左移3位后为:1100000
- 注意,
1100000
虽然可以转换为十进制的96,多项式1011
为11,但多项式除法不是96%11。 - 多项式的计算方法,类似于【除法列式】计算流程,不过不需要【借位】,也就是不需要【借一当二】
这篇关于CRC校验码计算:多项式除法-模2除法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!