循环冗余检查经常使用,并与适当的配置很好地工作。国际电联的("CCIT") CRC经常被使用-
为什么国际电联的CRC值使用得如此频繁?一种常见的“默认”,可以这么说,只是好奇为什么
发布于 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。
https://stackoverflow.com/questions/62375911
复制相似问题