Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
Delphi 12 Athens
|
Re: Division (Bit-Shifting) in ASSEMBLER
18. Mär 2004, 12:02
Die Zahlen werden doch Binär gespeichert. (z.B. 01010100 = 84)
Wenn du jetzt die Bits verschiebst, dann entsteht ja ein anderer Wert.
Da da die Binärwerte ja eine Potenz von 2 sind, kannst du als mit 2er-Potenzen multiplizieren und dividiern. (*2, *4, *8 ... | /2, /4 ...)
Wenn also die Bit z.B. um 3 Stellen nach links geschogen werden, so wird also die Zahl darin mit 2^3 multipliziert.
<<< mal 8 (2^3)
00000000 01010100 = 84
00000010 10100000 = 672
>>> durch 8 (2^3)
00000000 01010100 = 84
00000000 00001010 = 10 (10,5 - dabei wird abgerundet)
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
|