lCRC32 xor $FFFFFFFF
=
not lCRC32
Bei
(lCRC32 and $FFFFFFFE div 2)
fehlt die Klammer um das AND, aber
$FFFFFFFE
scheint nur dazusein, damit das
/
einen ganzzahligen Wert liefert.
>
((lCRC32 and $FFFFFFFE) div 2)
oder einfach nur
lCRC32 div 2
, da DIV das ganzzahlige Abrunden schon erledigt.
lCRC32 and $01 <> 0
dürfte dem
Odd entsprechen
Und bei
(lCRC32 and $FFFFFF00 div $100)
bin ich mir nicht ganz sicher, ob Delphi das DIV nicht vor dem AND aufläst, aber auch hier dürfte
lCRC32 div $100
oder
lCRC32 shr 8
ausreichen.
In
((lCRC32 and $FFFFFF00 div $100) and $00FFFFFF)
kann das
and $00FFFFFF
weg, da das erste $FF000000 sowieso leer ist. (wegen dem div $100)
(mit bissl Syntax-Highlighting und als Pascal, sticht gleich so viel in Auge)
[add]
Mir fällt grade auf, daß die im originalen Code auch schon die Klammern unterschiedlich gesetzt haben.
z.B.
(lCRC32 And &HFFFFFFFE) \ &H2
und
lCRC32 And &HFFFFFF00 \ &H100
Hier müsste man aufpassen in welcher Reihenfolge Visual Basic und Delphi die AND|OR|*|/|DIV auflösen.