魔域口袋版礼包怎么用:如何手工快速、准确计算CRC校验码?

来源:百度文库 编辑:中科新闻网 时间:2024/05/02 04:33:08
关于CRC(循环冗余校验码)的原理和计算方法已经在网上查到很多资料,但手工快速计算的方法不知道有没有?
刚才在一选择题上看到一题目,要进行校验的二进制位数有31位,用CRC16校验,那除数就47位,被除数有16位,这么多位的运算,手工计算,容易出错,而且还耗时。大家有没有什么好的方法,推荐一下。

我先给你举个例子:
已知信息位为1100,生成多项式G(x) = x3+x+1,求CRC码。
M(x) = 1100 M(x)*x3 = 1100000 G(x) = 1011
M(x)*x3 / G(x) = 1110 + 010 /1011 R(x) = 010
CRC码为: M(x)*x 3+R(x)=1100000+010 =1100010
其原理是:CRC码一般在k位信息位之后拼接r位校验位生成。编码步骤如下:
(1)将待编码的k位信息表示成多项式 M(x)。
(2)将 M(x)左移 r 位,得到 M(x)*xr 。
(3)用r+1位的生成多项式G(x)去除M(x)*xr 得到余数R(x)。
(4)将M(x)*xr 与R(x)作模2加,得到CRC码。
你可以把那道题发给我,一起研究!我的qq:445935294

晕,当然要编个程序计算了,手工会死人的……

模2除法 也可以先算一位!

这个嘛相当气愤,是这样的。没办法。

..