CRC 32 Generator是一个33位的bin编号:
100000100110000010001110110110111
根据PDF Page 18,
如果C(x)包含因子(x + 1)
,则可以检测到奇数个位错误
CRC 32应该满足能够检测任何奇数位错误的特性。但是,CRC 32生成器(即C(x))不能被11整除。换句话说,CRC-32多项式:
x32 + x26 + x23 + x22 + x16 + x12 + x11 + x10 + x8 + x7 + x5 + x4 + x2 + x + 1
不包含因素(x + 1)
。
那么,财产如何得到满足?
注意:您可能会发现拥有online modulo-2 arithmetic calculator。
会很有帮助答案 0 :(得分:4)
并非所有CRC多项式都可被x + 1整除。在检测一位错误和两位错误之间存在权衡。这取决于你想要防止的噪音来源。正如您所注意到的,常用的Ethernet / gzip /等。多项式不能被x + 1整除。
CRC-32C(Castagnoli)多项式 可被x + 1整除。实际上,它总体上也更强大,并且是新应用的首选CRC。 (实际上它并不只是发生 - 它是一次详尽搜索的结果。)它也是英特尔crc32
指令计算的CRC。