看了很多篇关于CRC的**,关于CRC-ITU查表法有点糊涂。
《CRC算法原理及C语言实现》 http://www.laogu.com/wz_2713.htm unsigned int crc_ta[256]={ /* CRC余式表 */ 0x0000, 0x1021, 0x2042, 0x3063, 0x4084, 0x50a5, 0x60c6, 0x70e7。。。。 此文中的CRC-ITU余式表很好理解,是根据多项式 x16+x12+x5+1 即 1021 计算得来,笔算也没错。
《CRC算法与实现》 http://www.bloghome.cn/posts/6741.html // CRC-ITU查找表 const u16 crctab16[] = {0x0000, 0x1189, 0x2312, 0x329b, 0x4624, 0x57ad, 0x6536, 0x74bf。。。。 此文中的余式表为什么与上面的不同?这是为什么?是因为采用了不同的多项式吗? |