Zahlbasiswechsel
Einleitung
Unser Dezimalsystem arbeitet zur Basis 10. Andere Zahlensysteme sind bspw. folgende:- Hexadezimalsystem Basis 16
- Oktalsystem Basis 8
- Dualsystem Basis 2; häufig auch als Binärsystem bezeichnet
In anderen Zahlensystemen folgt man demselben System, jedoch mit anderen Basen. Dadurch, dass wir so sehr an unser 10er System gewöhnt sind, ist ein Rechnen mit anderen Basen am Anfang für uns wesentlich schwieriger da wir umdenken müssen. In unserem 10er System ist es für uns bspw. logisch, dass eine Zahl die alle Ziffern ausgeschöpft hat bei einer Erhöhung um eine Ziffer wächst. Also aus 9 + 1 wird 10, aus 99 + 1 wird 100 usw. Wir erweitern also beim Überschreiten unserer Ziffernmenge die Zahl um eine weitere Ziffer. Die Zahl rutscht somit in eineren nächst höheren Wertigkeitsbereich.
Das Hexadezimal-, Oktal- und das Dualsystem handhaben dies genauso, mit dem Unterschied, dass das Hex-System mit 10 Ziffern (0 bis 9) und 6 Buchstaben (A bis F) und das Oktal- mit nur 8 Ziffern (0 bis 7) auskommt. Das Dualsystem kommt, wie der Name schon sagt, mit nur 2 Ziffern aus: mit 0 und 1.
Als Grundlage für das Umrechnen in die verschiedenen Zahlensysteme ist es am Einfachsten vom Dualsystem auszugehen, da sowohl das Dezimal-, als auch das Oktal- und Hexadezimal- eine Basis haben die ein vielfaches von 2 ist.
Zum Verständnis ist es hier sinnvoll, auf die am Ende verlinkten weiterführenden Wikipedia Artikel über die verschiedenen Zahlensysteme zu verweisen.
Umrechnen zwischen Dezimal und Dual
Das Umrechnen von Dual in Dezimal geht im Kopf bei größeren Zahlen nur mühselig, da die Stelle und die entsprechende 2er Potenz als Dezimalzahl beim Rechnen benötigt werden.
Hier einige Werte:
| 2er Potenz
| Ergebnis
|
| 20
| 1
|
| 21
| 2
|
| 22
| 4
|
| 23
| 8
|
| 24
| 16
|
| 25
| 32
|
| 26
| 64
|
| 27
| 128
|
Eine Binärzahl wird mit der kleinsten Stelle von rechts beginnend gelesen und von dort aus werden bis zur größten Stelle ganz links die 2er Potenzen verteilt. Für jede 0 wird die entsprechende 2er Potenz dieser Stelle verworfen und alle 2er Potenzen an denen eine 1 steht, werden aufaddiert.
Beispiel
101011102 = 128 + 32 + 8 + 4 + 2 = 174 Ausführlich: 1 · 27 + 0 · 26 + 1 · 25 + 0 · 24 + 1 · 23 + 1 · 22 + 1 · 21 + 0 · 20Mit diesem Verfahren werden Dualzahlen ins Dezimalsystem umgerechnet.
Vom Dezimalsystem ins Dualsystem kommt man mit der entsprechenden Umkehrrechnung.
Man teilt eine Zahl durch 2. Ist das Ergebnis keine glatte Zahl (dann war die Zahl ungerade) dann hat es eine Nachkommastelle von 0,5. Es wird der Rest 1 vermerkt, was gleichzusetzen ist mit eine 1 an die entsprechende Stelle der Dualzahl setzen. Für glattes Dividieren (also ohne Rest) wird eine 0 an entsprechender Stelle markiert. Die Ergebnisse ergeben in umgekehrter Reihenfolge die Dualzahl.
| R
| e
| s
| t
| ||||
| 35 : 2 | = 17 | 1
| |||||
| 17 : 2 | = 8 | 1
| |||||
| 8 : 2 | = 4 | 0
| |||||
| 4 : 2 | = 2 | 0
| |||||
| 2 : 2 | = 1 | 0
| |||||
| 1 : 2 | = 0 | 1
| |||||
| = 1 | 0 | 0 | 0 | 1 | 12 |
Das Dividieren das die letzte Tabelle zeigt, kann man auch leichter im Kopf machen, indem man die nächstkleinere 2er-Potenz nimmt und dazu alle weiteren 2er Potenzen zählt die zusammen den Wert der vorgegebenen Zahl ergeben. Bsp.: 17 = 24 (= 16) + 20 (= 1). Also besteht die Dualzahl aus 0en und nur zwei 1en an den Stellen mit der Wertigkeit 16 und 1. 100012
Umrechnen zwischen Dual und Hex
Da das Hex-System mit 16 Zeichen ( ''den Ziffern 0-9 und den Buchstaben A-F ) arbeitet und 16 das 4 fache an Zeichen der Dual-basis ist, kann man Hexzahlen sehr leicht umrechnen. Hat man eine Dezimalzahl oder eine Hex- und will die ins jeweils andere System umrechnen so geht man am Besten den Weg über das Dualsystem, da dieses am einfachsten ist.
Das Umrechnen sowohl von Dezimal nach Hex als auch umgekehrt geht analog zum Beispiel für die Dualzahlen.
Hat man eine Dualzahl vorliegen so unterteilt man diese in Pakete mit jeweils vier Ziffern, von rechts beginnend.
0 0 1 0 |0 0 1 12Von vorne (links) kann man die Zahl zur besseren Lesbarkeit mit 0en auffüllen.
Jedes 4-Ziffern-Paket der Dualzahl hat nun einen Wert zwischen 0 und 15 und kann somit sofort in die entsprechende Hexzahl umgerechnet werden. Die einzelnen Ziffern für die 4 Pakete werden dann so wie die 4er-Pakete selbst hintereinander geschrieben.
Unsere Zahl ergibt dann folgendes:
2316Weitere Beispiele
0111 10012 79160110 11012 6D16
1111 01002 F416
Umrechnen zwischen Dual und Oktal
Mit demselben Trick wie beim Hex-System kann auch zwischen dem Dual- und dem Oktalsystem umgerechnet werden. Mit dem Unterschied, dass man nun in 3er-Pakete aufteilt.
Dann gilt für unser Beispiel von oben folgende Übersetzung:
1 0 0|0 1 12 438Weitere Beispiele
001 111 0012 1718 001 101 1012 1558 011 110 1002 3648
Tabelle zum sofortigen Umrechnen in alle Systeme
| dezimal | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| hexadezimal | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F |
| dual | 0000 | 0001 | 0010 | 0011 | 0100 | 0101 | 0110 | 0111 | 1000 | 1001 | 1010 | 1011 | 1100 | 1101 | 1110 | 1111 |
| oktal | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 |
Siehe auch ...
- Dezimalsystem
- Dualsystem
- Oktalsystem
- Hexadezimalsystem
- Potenz
- IEEE 754 (gespr.: Ei Tripel I 7 5 4)