Цитата(toweroff @ May 16 2018, 21:18)

А для чего это?
для сверки какая разница - ноль или не ноль...
для совсем надежности - два разных алгоритма, тогда подбор "до нуля" теряет смысл, слишком много комбинаций. Тем более, если все место занято именно исполняемым кодом, а не некритичными данными
Не понял, про какой ноль идет речь.
Задача простая. К структуре данных в микроконтроллере по вычисленной CRC данных добавить CRC-дополнение для контроля целостности. Потом, вычисляя CRC "структуры, дополненной CRC" получу результат 0x00000000 или 0xFFFFFFFF (если инверсию на выходе сделаю).
Есть значения элементов структуры по умолчанию. Вот для них хочу вычислить CRC онлайн калькулятором, но таким алгоритмом, чтобы совпадал с функцией внутри микроконтроллера. И сразу забить их в исходный код программы.
Для показанного онлайн калькулятора нашел дополнения для всех CRC. Но остаюсь в недоумении.
Если инверсия выхода не делается, то биты CRC данных в дополнении не инвертируются. Это понятно.
Если реверс входных (и выходных) битов не делается, то байты дополнения задаются в порядке big-endian. Если биты реверсируются, то порядок байтов little-endian. Вот эта особенность мне непонятна!
Ну, для своей задачи я научился считать CRC. Дополняю свои данные CRC-32/JAMCRC. Вычисляю в процессоре CRC с реверсом битов. Проверил в отладчике.