Einzelnen Beitrag anzeigen

Gruber_Hans_12345

Registriert seit: 14. Aug 2004
1.426 Beiträge
 
Delphi 2007 Professional
 
#25

Re: heruasfinden ob zahl Gerade oder ungerade ist

  Alt 16. Sep 2004, 15:10
Zitat von negaH:
Aber mit
Code:
if Zahl mod 2 <> 0 then;
if Zahl and 1 <> 0 then;
if Odd(Zahl) then;
relativiert dies sich wieder alles.
3.) sie sind alle drei assemblertechnisch identisch

Gruß Hagen
Bist du sicher ?

Hasb gerade probiert und folgendes rausbekommen :
Code:
if Zahl mod 2 <> 0

wird zu
and eax, $80000001
jns +$05
dec eax
or eax, -$02
inc eax
test eax, eax
die zwei anderen zu
Code:
test al,$01
entweder keine optimierung beim compiler eingestellt oder es wird anders Übersetzt !

Gruss
Hans

[edit]
Upss ... ganz so einfach ist es doch nicht, hatte die Test mit integer durchgeführt.
Mit cardinal sind wirklich alle drei gleich
  Mit Zitat antworten Zitat