问一下计算机大神。crc16与crc32有什么区别

 我来答
刺任芹O
2022-11-16 · TA获得超过6.2万个赞
知道顶级答主
回答量:38.7万
采纳率:99%
帮助的人:8481万
展开全部

一、生成多项式不同:

1、crc16的生成多项式为:X16+X15+X2+1。

2、crc32的生成多项式为:X32+X26+X23+X22+X16+X12+X11+X10+X8+X7+X5+X4+X2+X+1

二、表示法不同:

1、crc16的的表示法为:0X18005,其对应校验二进制位列为1 1000 0000 0000 0101。

2、crc32的表示法为:0x104C11DB7,CRC32的生成项是: 1 0000 0100 1100 0001 0001 1101 1011 0111  (33个比特) ,颠倒过来,就可以写成1110 1101 1011 1000 1000 0011 0010 0000 1 一般生成项简写时不写最高位的1,故生成项是0x04C11DB7,颠倒后的生成项是0xEDB88320 

CRC32的生成项是33比特,最高位是消掉的,即CRC值是32比特(4个字节),即宽度W=32,就是说,在计算前,原始数据后面要先扩展W=32个比特0,即4个0x00字节。

三、应用不同:

1、crc16应用在 按位计算:程序空间十分苛刻但 CRC 计算速度要求不高的微控制器系统按字节计算:程序空间较大且 CRC 计算速度要求较高的计算机或微控制器系统,半字节计算:程序空间不太大,且 CRC 计算速度又不可以太慢的微控制器系统。

2、crc32应用在 ZIP, RAR,IEEE 802 LAN/FDDI,IEEE 1394,PPP-FCS。

参考资料来源:百度百科-CRC32

参考资料来源:百度百科-CRC

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式