Страница 7 из 7

Re: Помощь по математическим расчётам

СообщениеДобавлено: 12 фев 2020, 16:56
mim
Вячеслав писал(а):числа, любопытно узнать откуда?
Числа получаются путем прогона через
Вячеслав писал(а): полином
степени двойки, а затем используют как в примере... Полином, например, такого вида g(x) = x8+x5+x4+1.
Вот так это выглядит на Си
Код: выделить все
uchar crc8 (uchar crc, uchar byte)
{
  byte^=crc;
  crc=0;
  if(byte&0x01) crc =0x5E;
  if(byte&0x02) crc^=0xBC;
  if(byte&0x04) crc^=0x61;
  if(byte&0x08) crc^=0xC2;
  if(byte&0x10) crc^=0x9D;
  if(byte&0x20) crc^=0x23;
  if(byte&0x40) crc^=0x46;
  if(byte&0x80) crc^=0x8C;
  return crc;
}

Только в этом примере счет начинается с младшего разряда (byte&0x01), а на ассемблере со старшего, поэтому 0x5E выглядит как 0x7А (0x5E наоборот).

Гугл в помощь, а то с печи слезу.... полетят клочки по закоулочкам...