Forum: Sonstige Fragen zu Delphi
Delphi
by negaH,
13. Nov 2003
:-), logisch gesehen ja, formal gesehen nein. Per Definition zählt man die Bits beginnend mit Bit Nummer 0 bis Bit Nummer 31. Somit ist der Bit Index gleich der Bit Nummer. Dies vereinfacht ungemein das Denken.
In einem 32 Bit Cardinal gibt es also kein 32. Bit !
Gruß hagen
Forum: Sonstige Fragen zu Delphi
Delphi
by negaH,
11. Nov 2003
Hi
ich habe sehr wohl verstanden was du meinst, und sehe auch das du wie ich und viele andere am gleichen "Denk" Problem verhacken :) Nämlich wie representiere und speichere ich die großen Zahlen im Speicher !?
Es hängt ganz einfach von der willkürlichen Definition ab was du als bestest empfindest. Dies ist die einzigst richtige Antwort.
D.h. egal ob in Strings, array of Double, array of...
Forum: Sonstige Fragen zu Delphi
Delphi
by negaH,
10. Nov 2003
Verrenne dich da nicht geistig :)
Es gibt keinen Unterschied zwischen Binär, Hexadezimal oder zur Basis 2^32. Wichtig ist nur das Berechnungen zur Basis 2,16,2^32 kompatibel in den gespeicherten Datenstrukturen sind !!
Angenommen die Zahl 11 wird in einem Cardinal gespeichert, da enthält er
01011b = 0Bh = 11 intern ändert sich nichts an dessen Speicherung.
Wird nun 11 + 2 gerechnet...
Forum: Sonstige Fragen zu Delphi
Delphi
by negaH,
10. Nov 2003
Du möchtest bestimmt herausbekommen welches Bit in einer Zahl gesetzt ist ?
if Odd(Value shr Bit) then ...;
Value ist zb. ein Cardinal und Bit die Bitnummer mit 0 basiertem Index.
Für 32Bit/64Bit Zahlen funktioniert dies noch sehr effizient, bei größeren Zahlen aber nicht mehr. Dort ist es dann besser mit den Assembler Bit Funktionen zu arbeiten.