Определение полиномиальных членов CRC
Я смотрел эту страницу и увидел, что члены этого многочлена:
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
что кажется неправильным после преобразования Hex:
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
.
1 ответ
Эта страница находится на веб-сайте Купмана, где у него есть собственные обозначения для полиномов CRC. Поскольку все полиномы CRC имеет 1 член, он падает, что термин, делит многочлен по й, и представляет, что в двоичной системе. Вот на что вы смотрите.
Преимущество состоит в том, что с помощью 64-битного слова вы затем можете представить все 64-битные и более короткие полиномы CRC, при этом длина CRC обозначается старшей 1 в слове.
Обратной стороной является то, что только Купман использует эту нотацию, насколько мне известно, что приводит к путанице у других. Любите себя.
Что касается вашего 64-битного CRC, тот многочлен, который вы отметили со страницы Википедии, на самом деле является обратной версией и не в нотации Купмана. Разложение в полином показано прямо под шестнадцатеричным представлением. В нем 34 термина.