循环冗余校验码CRC,求解步骤

循环冗余校验码CRC,是软考-计算机组成原理 中一种重要的编码。

 

 

下面只是简要描述求解CRC码的解题步骤,面向有一定理论基础的朋友。

 

 

直接看例题。

 

 

 

 

例、信息位: 10100110   生成多项式:clip_image002

解:

 

 

①  clip_image004.

 

 

方法:根据二进制转换为十进制的方法,由信息位clip_image006 得到C(x)多项式,将x=2带入则会得到clip_image006 的十进制表示值。

 

 

clip_image008

 

 

      方法:得到移位后的多项式 clip_image010,根据生成多项式a(x) 并将转换为二进制形式,即 clip_image012,共6位,则R=6-1=5 (不解释,你懂的…)

 

 

求余式为 clip_image014,即校验码为 clip_image016

 

 

      clip_image018 clip_image020

 

 

      方法:用移位后的多项式与生成多项式做除法

 

 

个人认为这种多项式除法要比模2除法易于记忆(只不过是将模2除法转换了一种表示方法罢了),这种除法,只是将上下(比较之后) 相同的项一并消除,不同的项保留到下一级,以此循环,直至新生的多项式的最高次小于被除多项式的最高次 为止。如是,得到CRC码中的校验码。

 

 

得到CRC码为,信息码+校验码 = 1010011011000

 

 

 

 

记住这种解码方法,CRC码不难。

 

 

posted @ 2010-10-07 21:21  争光  阅读(694)  评论(0)    收藏  举报