Thema: Delphi CRC-16 berechnen

Einzelnen Beitrag anzeigen

brose

Registriert seit: 20. Mai 2007
14 Beiträge
 
#14

Re: CRC-16 berechnen

  Alt 1. Mär 2010, 18:24
Hmm, also den letzten Teil versteh' ich net:

Delphi-Quellcode:
  // Fold 32-bit sum to 16 bits
  while (sum shr 16) > 0 do
    sum := (sum and $ffff) + (sum shr 16);

  result := not Word(sum);
end;

mal angenommen, ich habe als Summe "0000.1100.0010.0111" (0xC27) raus, dann würde doch folgendes bewirkt:

0000.1100.0010.0111 shr 16 = 0000.1100 das ist größer 0 also summe :=

0000.1100.0010.0111 UND-verknüpft mit 0xffff, also mit
1111.1111.1111.1111 ergibt
0000.1100.0010.0111 (was wieder meine Summe ist) dazu addiere ich nun

0000.0000.0000.1100 und erhalte

0000.1100.0011.0011

Das Spiel kann ich jetzt immer so weiter machen, ohne Ende bzw. bis zum Overflow - oder etwa nicht???
  Mit Zitat antworten Zitat