Иллюстрированный самоучитель по задачам и примерам Assembler
Вычисление CRC
-
Где начало того конца, которым оканчивается начало? | Козьма Прутков | В своей практической работе каждый пользователь наверняка сталкивался с ситуацией, когда неблагоприятные условия перемещения файлов (любым способом) приводили к порче последних.
-
Расчеты CRC ведутся в двоичной системе счисления. При проведении CRC-вычислений используется специальная CRC-арифметика, которая, по сути, является полиномиальной арифметикой по модулю 2.
-
Даже маленькая практика стоит большой теории. | Закон Букера | (Прикладная Мерфология) | После всех этих рассуждений мы готовы к тому, чтобы осмысленно воспринять общую схему реального алгоритма вычисления CRC – алгоритма прямого (поразрядного) вычисления CRC.
-
Основы | Для того чтобы лучше понять суть табличного алгоритма вычисления CRC, обратимся опять к прямому методу, точнее к той схеме его вычисления (см. рис. 9.6), которая была реализована в приведенной выше программе.
-
Как и любой табличный алгоритм, табличный алгоритм вычисления CRC32 требует задания CRC-таблицы. Ее можно задать в программе статически, явно прописав значения элементов таблицы в сегменте кода, или динамически, вычислив значения элементов таблицы перед началом расчета CRC.
-
В заключение данного раздела обсудим "зеркальный" вариант табличного алгоритма – алгоритм CRC32 (V.42 МККТТ). Этот вариант вычисления CRC обязан своим возникновением существованию последовательного интерфейса, который посылает биты, начиная с наименее значимого (бит 0) и заканчивая самым старшим (бит 7), то есть в обратном порядке. В "зеркальном" регистре все биты отражены относительно центра.
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.