ďťż

Ładny brzuch

Piszę program do obliczania CRC-16. Nie mam problemu z zaprogramowaniem tego, więc pytanie nie jest do jakiegoś szczególnego języka programowania. Piszę według algorytmu przesuwania i xorowania. Mam takie pytania:

algorytm CRC, które chcę policzyć to: x16 + x12 + x5 + 1 (oczywiście to po x to potęgi)

1) wiem, że mam xorować wtedy, kiedy ostatni bit=1 Jednak mam xorować gdy 1 jest na najstarszym bicie rejestru xora, czy też kiedy ta 1 już wyjdzie z rejestru?

2) co z czym xorować i gdzie trafia wynik xorowania? czy np. wykonuję xorowanie bitu wejściowego z z wyjściowym i wynik trafia na wejście, czy do pierwszego rejestru. Jak to wygląda?

3) najpierw przesuwam, potem xoruje, czy na odwrót?

4) Czy najpierw wartości rejestru wypełniam 0 czy 1?

Szukałem godzinami przez google tego algorytmu, ale problem w tym, że generalnie algorytm znam, tylko mam problem ze szczegółami. A nigdzie nie znalazłem dokładnego, prostego do zrozumienia przykładu prezenstacji algorytmu. Pisałem jużÂ wiele programów do tego, ale kiedy porównuje z kalkulatorami CRC on-line, to mam zupełnie inne wyniki.

Z góry dziękuję za pomoc.



na 4programmers jest to opisane, poszukaj

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • zsf.htw.pl
  •