Autor Beitrag
charliestoned
Hält's aus hier
Beiträge: 1



BeitragVerfasst: Do 17.04.08 10:36 
Moin,

ich hab schon seit einigen Tagen nach einer Implementierung von CRC32 gesucht.

Dank Suchfunktionen etc habe ich auch ein zwei gefunden.

Leider würde ich auch verstehen was da passiert und nicht nur den Code verwenden. Den algemeinen Algorithmus habe ich im Kopf und verstanden. Aber die Implementierungen auf Bitebene find ich ab und an sehr "wirr" :)

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
function Crc32(data: String): Longword;  
var
  len: Integer;  
begin  
  Result := $FFFFFFFF;  
  for len := 1 to Length(data) do  
    Result := crctab[Ord(data[len]) xor (Result and 255)] xor (Result shr 8);
  Result := not Result;  
end;


Fragen: Wozu brauche ich die CRCTAB ?! -> Reicht nicht ein Generatorpolynom?
- Was davon ist die modulo Rechnung :)

Wäre über hilfreiche Antworten dankbar.

MfG


Moderiert von user profile iconNarses: Topic aus Internet / Netzwerk verschoben am Do 17.04.2008 um 11:43
BenBE
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 8721
Erhaltene Danke: 191

Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
BeitragVerfasst: Do 17.04.08 12:49 
Die CRC-Tab macht eine Voraus-Berechnung des CRCs für 8 Bit pro Operation möglich, während der grundlegende Algorithmus nur auf einem Bit je Durchgang arbeitet ...

Die Modulo-Operation sind die XORs IIRC.

_________________
Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.