HEX Zahlen wie ordnen?

5 Antworten

die höchst mögliche Zahl wäre FFFF, die niedrigste mögliche Zahl wäre 0000.

Alle Zahlen haben gleich viele Stellen, also ist die höchste Zahl diejenige die mit F anfängt.

danach kommt die Zahl die mit E anfägtn, danach mit d, C, B und A, danach 9,8,7,6,5 4 , 32 1 0.

Der Reihe nach: wenn es vorzeichenbehaftete Zahlen sind, so zeigt das vorderste BIT an, ob die Zahl negativ ist. Das vorderste bit ist bei deinen ersten 4 Zahlen gesetzt. Diese sind also negativ. Die größte negative Zahl ist FFFF, was dem Dezimalwert -1 entspricht. Die kleinste ist 8000 hex, was -32768 entspricht.

Wo liegen deine Schwierigkeiten? Beim Zweierkompliment?

Bei vorzeichenlosen Zahlen ist FFFF am höchsten 0000 am niedrigsten.

Die vorderste Zahl sagt ja an ob es eine positive oder negative Zahl ist

Nur dann, wenn es sich um einen signed-Wert handelt...

Geht es aber um einen unsigned-Wert, dann gibt es keine negativen Zahlen.

Ob signed oder unsigned müsste allerdings deklariert werden, da es nicht möglich ist, das einfach an den blanken Zahlen zu erkennen.

Beispielsweise wäre 0xA4 als unsigned betrachtet 164, als signed dagegen -91...

Die Reihenfolge von Groß nach klein ist also

unsigned: FC05 EF30 9FC2 9478 4215 38F7 038A

signed: 4215 38F7 038A FC05 EF30 9FC2 9478

Kostros 
Fragesteller
 18.05.2018, 07:42

Ja es geht um signed Zahlen, hätte ich vllt erwähnen sollen.

Also von 9478-FC05 verstehe ich. Das ist die negativ größte Zahl bis zur negativen kleinsten. Danach aber kommen die positiven und da hätte ich es glatt andersherum gemacht. Wenn man sich die 16er Komplemente anschaut, heißt FFFF subtrahiert mit der Zahl und addiert mit 1:

4215 entspricht als 16er komplement BDEB

38F7 entspricht C708 und

038A entspricht FC76.

Dann musste ja die größte Zahl eigentlich 038A sein, gefolgt von 38F7 und dann 4215.

Oder sehe ich da etwas falsch?

0

Du hast ja schon genug Antworten erhalten.

Ich empfehle immer, die Hexzahlen als Binärzahlen darzustellen. Damit lässt sich viel besser rechnen.

Jede Hex-Ziffer lässt sich auch als 4-Bit-Binärzahl darstellen, weil sie 16 verschiedene Werte annehmen kann.

FC05 = 1111 1100 0000 0101

Um den Dezimalwert zu errechnen, addierst du einfach die Potenzen. Ganz rechts hast du 2^0, links daneben 2^1, 2^2 etc.

Also einmal 2^15 + 2^14 + 2^13 + 2^12 + 2^11 + 2^10 + 2^2 + 2^0 = 64517

wenn das jetzt eine negative zahl darstellen soll, ziehst du von

1111 1100 0000 0101

erst mal eins ab und kommst auf

1111 1100 0000 0100

nun invertierst du jedes bit

0000 0011 1111 1011

und rechnest wieder um in dezimal. dann kommst du auf: 512+256+128+64+32+16+8+2+1 = -1019

FC05 = 1111 1100 0000 0101
EF30 = 1110 1111 0011 0000
9FC2 = 1001 1111 1100 0010
4215 = 0100 0010 0001 0101
38F7 = 0011 1000 1111 0111
038A = 0000 0011 1000 1010