Биты вообще не добавляются.
Аппаратный алгоритм такой:
1. 16-разрядный регистр CRC сдвигается влево, старший разряд при этом выходит в триггер.
2. Выход триггера бывшего старшего разряда CRC и старший бит сдвигового регистра ( т.е. текущий бит данных ) логически складываются и их исключающее ИЛИ управляет инверсией 0-го, 5-го и 12-го битов регистра CRC.
Вот и весь алгоритм CRC-16.
---------- Post added at 13:52 ---------- Previous post was at 13:32 ----------
Перед делением полиномов - делимое ( у нас - один бит ) сдвигается влево на кол-во разрядов, равное степени делителя ( у нас - на 16 разрядов ).





Ответить с цитированием