Einzelnen Beitrag anzeigen

Olli
(Gast)

n/a Beiträge
 
#12

Re: Ramauslastung (bei ramgrößen >2gb)

  Alt 20. Mai 2006, 12:34
Pointer sind ja nur 32bit-Werte (auf einem 32bit-System). Sie können also theoretisch wie vorzeichenbehaftete oder vorzeichenlose Integer behandeltwerden, also wir LongInt vs. LongWord um beim Delphi-Jargon zu bleiben.

Das höchste Bit in diesem vorzeichenbehafteten Integer wird bei der Methode "two's complement" immer 1 sein, wenn der Wert negativ ist. Bei positiven Werten ist das höchste Bit immer 0. Wenn wir uns den Wert anschauen, der bei 32bit die Bitmaske des höchsten Bits darstellt, nämlich $80000000, sollte uns etwas auffallen - das ist genau unsere 2GB Grenze.

Wie es scheint, benutzt Delphi also vorzeichenbehaftete Pointerwerte "by default", was sich aber umstellen läßt (wußte ich z.B. auch nicht, danke himitsu!).
  Mit Zitat antworten Zitat