Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
 
Delphi 12 Athens
 
#2

Re: Division (Bit-Shifting) in ASSEMBLER

  Alt 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.
  Mit Zitat antworten Zitat