Тема: расчет CRC16
Показать сообщение отдельно
  #11  
Старый 20.07.2010, 14:05
Hobert Hobert вне форума
Прохожий
 
Регистрация: 15.06.2010
Сообщения: 9
Репутация: 10
По умолчанию

Усе, Гуд!
Функцию просто надо было поправить вот так.
Код:
function crc16(twoSym:array of Word; size:Word):Word;
var
 i:Integer;
 crc:Word;
begin
  crc:=$FFFF;

  for i:=0 to ((size div 2)-1) do
  begin
    crc:=  (crc shr 8) xor CrcTab[(crc and $FF) xor twoSym[i]];
  end;
   Result:=(crc shr 8) or (crc shl 8);
end;

Кто считает, что извращено слишком, готов услышать конструктивную критику=)
Ответить с цитированием