[an error occurred while processing this directive]
[an error occurred while processing this directive]
|
а деление многочленов. Последовательность битов данных рассматривается
как коэффициэнты многочлена. Например, байту 11001011 можно поставить
в соответствие многочлен x^7+x^6+x^3+x^1+1. Действия над коэффициэнтами подчиняются арифметике поля Галу GF(2). На самом деле
это очень просто - a+b = a XOR b, a-b= a XOR b (т.е. не отличается
от сложения), a*b=a AND b. Напомню, a и b принимают значения либо 0,
либо 1.
Вся последовательность вычисления CRC - это деление такого длинного
многочлена, образованного последовательностью битов данных, на фиксированный образующий многочлен. В качестве CRC берется остаток от этого деления, а частное никого не волнует. Т.е. длина CRC определяется степенью образующего многочлена (степень остатка всегда меньше степени делителя). Например, для CRC8 используется образующий многочлен 8 степени.
E-mail: info@telesys.ru