首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CRC-16-CCITT的选择

CRC-16-CCITT的选择
EN

Stack Overflow用户
提问于 2020-06-14 17:23:25
回答 1查看 497关注 0票数 0

循环冗余检查经常使用,并与适当的配置很好地工作。国际电联的("CCIT") CRC经常被使用-

  • 参考文献- CRC16 16-CCITT参考资料- Joe Geluso

为什么国际电联的CRC值使用得如此频繁?一种常见的“默认”,可以这么说,只是好奇为什么

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-06-14 21:32:24

多项式0x11021用于软盘。选择该多项式的部分原因是0x1021中只有三个1位,这简化了基于硬件的CRC计算。对于0x10007 (FOP-16)和0x14003 (CRC16,CRC16-IBM)也是如此,所以我不知道为什么选择0x11021,而其他两个比较常见的,在下16位中只有三个1位。

0x11021也用于XMODEM (旧计算机的串行文件传输程序),该程序通常在软件中实现,在软件中,多项式中的1位数无关紧要,但可能是因为它用于软盘而被选择的。

0x11021是两个素多项式的乘积: 0xf01f和0x3。0x3 (x+1)将检测任何奇数的位错误,它的2位错误检测对于高达32751位+ 16 crc位= 32767位的数据比特很好,对于软盘扇区大小为128、256、512和1024字节(也可以用于2048字节,但我不记得有2048字节扇区大小的软盘)。我不知道选择一次突发错误检测的多项式有什么好处。一些多项式可以更好地进行单次突发误差校正,但单次突发校正并不常见。

另外两个多项式类似,0x10007 = 0xfffd * 0x3,0x14003 =0xc 001* 0x3。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62375911

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档