- UID
- 149046
- 性别
- 男
|
请教CCITT CRC算法
介绍该算法的文章,请访问:http://www.chinaecnet.com/tech/te054033.asp
我目前正在http://www.chinaecnet.com/tech/te054033.asp网页上学习CCITT CRC算法,有三个问题不理解:
1,CCITT 里的G(x)=x16+x12+x5+1,但是在其它有些程序里看到G(X)=0X1021,即G(x)=x12+x5+1,这是为什么?
2,网页里的余式表我也不理解,如第一行第二列为什么是0X3273,我的理解是:“0X120000 % G(X)的结果”,我的理解肯定是错误 的。
3,网页里提到:
( Tabc的余式Rabc的求法:可以把三字节序列Tabc=[ a b c ]的运算分解成两个步骤来进行,如图2所示。
1. 通过查余式表(表1),读取Ta00=[a 0 0 ]的余式Ra00=[ ha00 la00 ];
2. 将Ra00与[ b c ]进行异或运算,从而得到[ a b c ]的余式Rabc=[ habc labc ],即habc=ha00 ? b,labc=la00 ? c。
由于[a 0 0 ]中只有一个字节不为零,因此,[a 0 0 ]余式表仅需要256个单元,即占用512个字节。)
里面的第二点不理解,为什么将Ra00与[ b c ]进行异或运算就是余式了。 |
|