Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.054 Beiträge
Delphi 12 Athens
|
IsPowerOfTwo
6. Mai 2009, 20:52
Hab hier noch was Kleines als Nachtrag
Code-Library -> Algorithmen -> IsPowerOfTwo
Delphi-Quellcode:
Function IsPowerOfTwo(i: LongWord): Boolean;
ASM
BSR EDX, EAX
BSF EAX, EAX
JZ @@None
CMP EAX, EDX
SETZ AL
@@None:
End;
es ist die Kurzfassung von:
Delphi-Quellcode:
Function IsPowerOfTwo(i: LongWord): Boolean;
ASM
TEST EAX, EAX
JZ @@None
BSR EDX, EAX
BSF ECX, EAX
CMP ECX, EDX
JNE @@None
MOV AL, &True
@@None:
MOV AL, &False
End;
// bzw.
Function IsPowerOfTwo(i: LongWord): Boolean;
ASM
BSR EDX, EAX
JZ @@None
BSF ECX, EAX
CMP ECX, EDX
JNE @@None
MOV AL, &True
@@None:
MOV AL, &False
End;
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
|
|
Zitat
|