Определение полиномиальных членов CRC

Я смотрел эту страницу и увидел, что члены этого многочлена:

  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

что кажется неправильным после преобразования Hex:

0xad0424f3 является 10101101000001000010010011110011

Это стало бы:

  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.

1 ответ

Решение

Эта страница находится на веб-сайте Купмана, где у него есть собственные обозначения для полиномов CRC. Поскольку все полиномы CRC имеет 1 член, он падает, что термин, делит многочлен по й, и представляет, что в двоичной системе. Вот на что вы смотрите.

Преимущество состоит в том, что с помощью 64-битного слова вы затем можете представить все 64-битные и более короткие полиномы CRC, при этом длина CRC обозначается старшей 1 в слове.

Обратной стороной является то, что только Купман использует эту нотацию, насколько мне известно, что приводит к путанице у других. Любите себя.

Что касается вашего 64-битного CRC, тот многочлен, который вы отметили со страницы Википедии, на самом деле является обратной версией и не в нотации Купмана. Разложение в полином показано прямо под шестнадцатеричным представлением. В нем 34 термина.

Другие вопросы по тегам