Hi Ihr,
ich stehe mal wieder auf dem Schlauch. Vielleicht kann mir jemand helfen.
Nehmen wir an, ich habe die hexadezimale Zahl 0000 0000. Von dieser soll die Hex-Zahl FFFF FFF0 abgezogen werden. Wären das keine 32-Bit großen Zahlen, könnte ich ja einfach in den dezimalen Wert umrechnen und dann damit rechnen. Es gibt aber doch 'ne Möglichkeit, mit Hex-Werten zu rechnen, oder sehe ich das falsch?
Das Ergebnis ist 0000 0010. Aber wieso? Wie kommt man darauf?
Über Hilfe wäre ich sehr dankbar.
Janni *confused*
Moien
Nehmen wir an, ich habe die hexadezimale Zahl 0000 0000. Von
dieser soll die Hex-Zahl FFFF FFF0 abgezogen werden.
Und da seh ich shcon das erste Problem: du arbeitest mit negativen Zahlen. Wie wird das Vorzeichen dargestellt ? 2K-Zahlen ? VorzeichenBit ?
Wären das
keine 32-Bit großen Zahlen, könnte ich ja einfach in den
dezimalen Wert umrechnen und dann damit rechnen.
Was hält dich davon ab ?
Es gibt aber
doch 'ne Möglichkeit, mit Hex-Werten zu rechnen, oder sehe ich
das falsch?
Klar. An sich geht’s genau so wie bei dem 10’er-System. Oder dem binaren. Also so: http://en.wikipedia.org/wiki/Binary_numeral_system
cu
Also ich würde es so machen (wahrscheinlich unendlich kompliziert):
0000 0000hex in binär umrechnen ergibt:
0000 0000 0000 0000 0000 0000 0000 0000
FFFF FFF0hex in binär:
1111 1111 1111 1111 1111 1111 1111 0000
Nun einfach von dem 2. Wert das 2er-Komplement bilden:
0000 0000 0000 0000 0000 0000 0001 0000
Zum ersten Wert dazuaddieren und wieder in Hex umwandeln, ergibt:
0000 0010hex
Hoffe, geholfen zu haben.
Sven