Forum: Programmieren allgemein
by negaH,
16. Okt 2003
Diese Annahme ist absolut falsch. Ein 32Bit Wert in einem 32Bit Register wird auf jeder CPU in Big Endian gespeichert. Erst wenn diese Register in den Speicher verlagert werden kommt es zur "Endian Umwandlung". Dabei wird im eigentliche Sinne überhaupt nicht konvertiert sondern die Art und Weise wie die Register in welcher Reihenfolge auf die Datenleitungen gelegt werden entscheidet dies.
Das...
Forum: Programmieren allgemein
by negaH,
2. Okt 2003
Das ist korrekt, der Rechner macht einen "Fehler" ? oder ist es so gewollt ?
Wäre schon logisch wenn Bill Gates 6 Euro auf'm Konto hat. Dann hebt er 11 Euro ab und hat 5 Euro Schulden. Nun ist Billy sehr trickreich, geht zu Bank, öffnet den Schlepptop und zerrt den Rechner raus. Er rechnet der Bank vor das 5 Euro Schulden, also -5 in Binär umgewandelt, dann zurück nach Dezimal ein Guthaben von...
Forum: Programmieren allgemein
by negaH,
2. Okt 2003
Das ist kein Bug, sondern die Komplementärdarstellung einer negative Zahl die im Bereich -2^63 <= 0 < +2^63 liegt.
Durch diese Darstellung muß die CPU das Vorzeichen nicht extra berechnen.
Zb. -5 + +6 = +1
$FFFFFFFB = -5
+ $00000006 = +6
= $00000001 = +1
Somit ist die Begründung, warum im negative Bereich eine Zahl mehr dargestellt werden kann, einfach weil nur dadurch die...
Forum: Programmieren allgemein
by negaH,
2. Okt 2003
IntToHEX(-2147483648) = $80000000, somit Bit 31 = 1 wenn negative Zahl.
Gruß Hagen