0

我在看这个页面,我看到了这个多项式的项:

  1. 0xad0424f3 = x^32 +x^30 +x^28 +x^27 +x^25 +x^19 +x^14 +x^11 +x^8 +x^7 +x^6 +x^5 +x^2 +x +1

自从转换十六进制以来,这似乎不正确:

0xad0424f310101101000001000010010011110011

它会变成:

  1. x^31+ x^29+ x^27+ x^26+ x^24+ x^18+ x^13+ x^10+ x^7+ x^6+ x^5+ x^4+ x^1+ x^0

你能帮我理解哪一个是正确的吗?那么 64 位 ECMA 多项式呢?

0xC96C5795D7870F42

我想知道每个多项式0xad0424f3和中的项数0xC96C5795D7870F42

4

1 回答 1

2

该页面在 Koopman 的网站上,在那里他有自己的 CRC 多项式符号。由于所有 CRC 多项式都有一个1项,因此他删除了该项,将多项式除以x,并以二进制表示。这就是你在看的东西。

好处是,使用 64 位字,您可以表示所有 64 位和更短的 CRC 多项式,CRC 的长度由字中最重要的 1 表示。

缺点是,据我所知,只有 Koopman 使用该符号,导致其他人有些混淆。像你自己。

至于您的 64 位 CRC,您记下的来自Wikipedia 页面的多项式实际上是反转版本,而不是 Koopman 的符号。展开为多项式显示在此处,在十六进制表示下方。它有 34 个术语。

于 2020-11-24T05:41:29.340 回答