社区
数据结构与算法
帖子详情
高分请教,常用crc32多项式0xEDB88320,为什么最后一位可以为0?
clh213
2007-09-28 11:49:19
不是说crc多项式的最后一位和第一位都必须为1嘛?
另一个问题,就是pkzip文档里面介绍的crc多项式是0xdebb20e3,但是开源的zip代码都用的是0xEDB88320,不解阿不解
请求高人指点
...全文
3614
1
打赏
收藏
高分请教,常用crc32多项式0xEDB88320,为什么最后一位可以为0?
不是说crc多项式的最后一位和第一位都必须为1嘛? 另一个问题,就是pkzip文档里面介绍的crc多项式是0xdebb20e3,但是开源的zip代码都用的是0xEDB88320,不解阿不解 请求高人指点
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
1 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
medie2005
2007-10-01
打赏
举报
回复
2
CRC-32的多项式可以是:
而,0xEDB88320=(11101101101110001000001100100000)B [二进制形式]。
将0xEDB88320的二进制形式反转,即最右的位变成最左的位,最左的位变成最右的位,那么,可以得到如下的二进制形式:
00000100110000010001110110110111
将得到的二进制形式与前面的CRC-32多项式对比,可以看到除了最高位之外,它们是一一对应的,而CRC多项式的最高位默认是1的。因此,可以用0xEDB88320来间接表示上面给出的CRC-32多项式。
CRC
32
0xEDB88
32
0
const unsigned int
crc
32
table[256] = { 0x00000000, 0x77073096, 0xEE0E612C, 0x990951BA, /* 0x00 */ 0x076DC419, 0x706AF48F, 0xE963A535, 0x9E6495A3, /* 0x04 */ 0x0EDB88
32
, 0x79DCB8A4, 0xE0D5E91E,
探究
CRC
32
算法实现原理-why table-driven implemention
Author : Kevin Lynxemail : zmhn
32
0@163.comPreface基于不重造轮子的原则,本文尽量不涉及网络上遍地都是的资料。Whats
CRC
?简而言之,
CRC
是一个数值。该数值被用于校验数据的正确性。
CRC
数值简单地说就是通过让你需要做处理的数据除以一个常数而得到的余数。当你得到这个数值后你可以将这个数值附加到你的数据后,
深入了解
crc
32
算法
由于项目需要,解决一个流媒体文件的
crc
32
校验码。网上查了很多的资料,发现了此校验码和生成
多项式
以及算法本身都有关系。对于不同类型的文件所使用的
多项式
以及算法不同,对于不同的生成
多项式
所生成的
crc
32
表不同,不同的算法也会产生不同的结果。下面分类比较两种不同用途的
crc
32
校验码的计算方法。1、普通文件(如压缩文件)的
crc
32
校验码计算方法:生成
多项式
采用0xEDB88
32
0,所生
IEEE 802.3 标准中规定的
CRC
32
算法
话不多说直奔主题,下面是一个使用 IEEE 802.3 标准中规定的
CRC
32
算法计算校验和的示例程序(使用 C 语言)。该示例程序实现了一个
crc
32
函数,可以计算给定长度的数据的
CRC
32
校验和。程序中包含了详细的注释,方便理解。示例程序中,
crc
32
函数用于计算给定长度的数据的
CRC
32
校验和。该函数接受两个参数,分别为指向待计算数据的指针和数据的长度。函数首先将
多项式
除数(0xEDB88
32
0UL)赋给一个
32
位的
CRC
寄存器(变量
crc
),然后对待校验数据的每个字节进行处理。
CRC
-
32
校验
多项式
在IEEE 802.3 帧中采用的是
CRC
-
32
校验码,
多项式
如下:
x
32
+ x26 + x23 + x22 + x16 + x12 + x11 + x10 + x8 + x7 + x5 + x4 + x2 + x + 1
多项式
按正常写法是0x04C11DB7 ,翻转则为 0xEDB88
32
0;
数据结构与算法
33,008
社区成员
35,326
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章