Hexadezimalzahlen umrechnen
Wenn man mit Hexadezimalzahlen und Dezimalzahlen rechnet, steht man vor dem Problem, dass in beiden Zahlensystemen die Ziffern 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 vorkommen. Damit man ein Unterscheidungsmerkmal hat, kann man die Ziffern bzw. Ziffernfolgen unterschiedlich kennzeichnen. Hexadezimalzahlen werden mit einer tiefstellten 16 gekennzeichnet, z.B. AF116. Alternativ könnte man die Zahl auch den tiefgestellten Zusatz hex kennzeichnen, z.B. AF1hex. Da das Dezimalsystem auf der Basis 10 beruht, kennzeichnet man Dezimalzahlen mit einer tiefgestellten 10, z.B. 280110. Alternativ kann man Dezimalzahlen auch mit dem tiefgestellten Zusatz dez oder dezimal kennzeichnen, z.B. 2801dez.
Bei der Betrachtung einer Hexadezimalzahl steht man häufig vor dem Problem, dass man nicht weiß, welchen Zahlenwert in Dezimal mit der Ziffernfolge eigentlich dargestellt werden soll. Man kann natürlich Hexadezimalzahlen umrechnen und so den Dezimalwert ermitteln.
Zur Veranschaulichung soll z.B. die Hexadezimalzahl 203116 in eine Dezimalzahl umgerechnet werden.
Vorgehensweise: Man multipliziert die Ziffern mit dem Stellenwert aus und addiert die Teilergebnisse.
Potenzen Hexadezimal (Stellenwert) | 163 | 162 | 161 | 160 |
Hexadezimalzahl | 2 | 0 | 3 | 1 |
Potenzen dezimal (Stellenwert) | 1 (163) = 4096 | 1 (162) = 256 | 1 (161) = 16 | 1 (160) = 1 |
zu addierende Werte | 2 · 4096 = 8192 | 0 · 256 = 0 | 3 · 16 = 48 | 1 · 1 = 1 |
Ergebnis als Dezimalzahl | 8192 + 0 + 48 + 1 = 8241 |
In der Zeile Hexadezimalzahl sind die hexadezimalen Ziffern 2, 0, 3, 1 dargestellt. In der Zeile "zu addierende Werte" sind die Dezimalwerte zu den hexadezimalen Ziffern enthalten. Je nachdem, ob die Ziffer der Hexadezimalzahl eine 0 oder eine andere Ziffer ist, erhält man als Dezimalwert eine 0 oder einen anderen Dezimalwert. 016 multipliziert mit dem Stellenwert ergibt immer den Dezimalwert 010. 116 multipliziert mit dem Stellenwert ergibt einen Wert und ist somit abhängig von der Stelle der hexadezimalen Ziffer in der Ziffernfolge.
Der Stellenwert der hexadezimalen Ziffer 216 in der 4. Spalte von rechts ist 163. Möchte man die Wertigkeit dieser Ziffer ermitteln, muss man die Ziffer mit dem Stellenwert, also 2 · 163 oder 2 · 16 · 16 · 16 rechnen. Das Ergebnis wäre 819210. Würde hier stattdessen die Ziffer 116 stehen, würde das 409610 ergeben. Denn, 1 · 163 = 4096.
Stellenwerte und Dezimalwerte bei Hexadezimalen Zahlen
Der Wert einer Ziffer innerhalb einer Ziffernfolge im Hexadezimalsystem nimmt mit jeder Stelle zu. Das wird anhand des Beispiels einer Hexadezimalzahl 1111 111116 deutlich. Dessen Dezimalwert ist 28633115310.
Hexadezimalzahl | 116 | 116 | 116 | 116 | 116 | 116 | 116 | 116 |
Potenz | 167 | 166 | 165 | 164 | 163 | 162 | 161 | 160 |
Stelle in Ziffernfolge | 8. | 7. | 6. | 5. | 4. | 3. | 2. | 1. |
Zahlenwert dezimal | 26843545610 | 1677721610 | 104857610 | 6553610 | 409610 | 25610 | 1610 | 110 |
Ergebnis Dezimalzahl | 268435456 + 16777216 + 1048576 + 65536 + 4096 + 256 + 16 + 1 = 286331153 |
Der Wert einer Ziffer ist abhängig von der Stelle in der Ziffernfolge, der einen entsprechenden Dezimalwert hat. Der Stellenwert einer hexadezimalen Ziffer wird in der Zeile Potenz abgelesen, wobei man rechts mit 160 beginnt und mit jeder weiteren Stelle nach links den Exponenten um 1 erhöht, also 161, 162, 163 usw.
Der Dezimalwert einer hexadezimalen Ziffer kann in der Zeile Zahlenwert dezimal abgelesen werden. Der Dezimalwert entspricht dabei immer der hexadezimalen Ziffer, multipliziert mit dem Stellenwert. Dabei wird deutlich, dass der Dezimalwert sich mit jeder Stelle nach links um das 16-fache erhöht.
Zusammenfassung zur Umrechnung von Hexadezimal nach Dezimal
Die Umrechnung von Hexadezimalzahlen in Dezimalzahlen erfolgt nach folgendem Schema:
- Man beginne von rechts und multipliziere die erste Zahl mit 160.
- Mit jeder weiteren Stelle nach links erhöht sich der Exponent bei der Potenz um 1, also 161, 162, 163 usw.
Beispiel: Die Hexadezimalzahl B12F soll in eine Dezimalzahl umgerechnet werden
- Die 1. Zahl F ist umgerechnet 15.
- Die 2. Zahl ist 2. Diese multiplizieren wir mit 16. 2 · 16 ergibt 32.
- Die 3. Zahl ist 1. Diese multiplizieren wir mit (16x16) 256. Ergibt 256.
- Die 4. Zahl B ist umgerechnet 11. Wir multiplizieren die Zahl mit (16x16x16) 4096. Macht 45056.
- Alle Zwischenergebnisse werden addiert: 15+32+256+45056=45359.
Man sieht, Hexadezimalzahlen umzurechnen ist gar nicht so schwer.
Für die Umrechnung ist ein Javascript auf der Seite Hexadezimalsystem eingebaut. Man braucht nur die Hexadezimalzahl einzugeben, die Umrechnung erledigt das Script.
Auch wenn solche Scripts Hexadezimalzahlen umrechnen können, sollte man das Umrechnen beherrschen. Man kann mit Hexadezimalzahlen auch Addieren, Subtrahieren, Multiplizieren und Dividieren.
Dezimalzahlen nach Hexadezimal umrechnen
Die Umrechnung zwischen Hexadezimalzahlen und Dezimalzahlen kann auch in die umgekehrte Richtung erfolgen. Eine Möglichkeit ist der Restwertalgorithmus. Dabei fängt man die Ermittlung der 1. Ziffer von rechts an und ermittelt Schrittweise die nächsten Ziffern jeweils links.
Restwertalgorithmus: Bei diesem Verfahren wird die die Dezimalzahl durch die Basis 16 geteilt. Danach wird der ganzzahlige Quotient mit 16 malgenommen und das Ergebnis wird von der Dezimalzahl abgezogen. Der Rest ergibt die Ziffer für die 1. Hexadezimalzahl. Hierbei muss man natürlich aufpassen, dass die Ziffer für den Rest in Hexadezimal notiert wird, z.B. A für 10. Im nächsten Schritt fängt man wieder damit an, den Quotienten durch 16 zu teilen. Diese Schritte wiederholt man solange, bis der Quotient 0 ist.
Beispiel für Restwertalgorithmus anhand der Dezimalzahl 10010:
- 100 : 16 = 6, 6 · 16 = 96, Rest 4: Ziffer für die 1. Stelle (ganz rechts)
- 6 : 16 = 0, Rest 6: Ziffer für die 2. Stelle
Das Ergebnis der Umrechnung mit dem Restwertalgorithmus ist: 6416.
Beispiel für Restwertalgorithmus anhand der Dezimalzahl 160010:
- 1600 : 16 = 100, 100 · 16 = 1600, Rest 0: Ziffer für die 1. Stelle (ganz rechts)
- 100 : 16 = 6, 6 · 16 = 96, Rest 4: Ziffer für die 2. Stelle
- 6 : 16 = 0, Rest 6: Ziffer für die 3. Stelle
Das Ergebnis der Umrechnung ist: 64016.