问题
单项选择题
循环冗余校验码CRC是一种纠错码,编码规定在被校数据位后增加若干校验位,使得形成的CRC码被生成多项式除,若传送数据正确无误,除法结果余数为零;若传送数据出错,则除法余数不为0,根据 (3) 可得知哪位数据出错,其中生成多项式是经过特殊筛选出来的不是任意指定的,同时除法运算是 (4) 。
(4)处填()。
A.普通除法
B.模二除法
C.补码除法
D.原码除法
答案
参考答案:B
解析:
循环冗余校验码CRC是一种纠错码。
其编码方法规定在k位被校数据后边再加上r位校验码形成,这种编码能被r次生成多项式整除,即余式为0,表示传送正确;若余式不为0,表示传送出错,且余式与出错位有一一对应关系,所以可以纠正一位错。
关键问题是r位校验码是如何形成的对生成多项式有什么要求
r位校验码是将k位被校数据左移r位后,低位补0,用这个数作被除数,用r次生成多项式作除数,按模二除法求出商数和余数,余数即是所求的校验位。
这里的生成多项式不是随便指定的,它是按照特殊的要求筛选出来的,即当CRC码中任一位出错,用生成多项式去除时,余数不为零,且不同的数位出错,余数不同,它们有一一对应关系。