我看了这个页面,发现这个多项式的项:
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
由于转换了十六进制:,这似乎不正确
0xad0424f3
是10101101000001000010010011110011
它将变成:
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
中的项数。
该页面位于Koopman的网站上,在那里他有自己的CRC多项式表示法。由于所有CRC多项式都有一个1项,他去掉该项,将多项式除以x,并用二进制表示。这就是你所看到的。
好处是,使用64位字,可以表示所有64位和更短的CRC多项式,CRC的长度由字中最有效的1表示。
不利的一面是,据我所知,只有库普曼使用这种符号,这导致了其他人的一些困惑。就像你自己。
至于你的64位CRC,你在维基百科页面上注意到的多项式实际上是反转的版本,不在库普曼的符号中。展开为多项式显示在那里,在十六进制表示的下面。它有34个术语。