Das Hexadezimalsystem
Das Binärsystem hast du nun schon kennengelernt. Damit rechnen Computer, aber für uns Menschen ist es praktisch unmöglich, damit größere Datenmengen zu "analysieren". In einem riesigen Wust aus 0ern und 1ern verlieren wir einfach den Durchblick.
Manchmal möchte man aber trotzdem als Mensch einen größere Menge an Binärdaten analysieren, die keinen direkt lesbaren Text darstellen. Dazu wendet man ein anderes Zahlensystem an, das Hexadezimalsystem. Dessen Haupt-Vorteil wirst du später verstehen.
Wiederholung: Aufbau des Binärsystems
Wenn man das Binärsystem verstanden hat, dann versteht man auch sehr schnell das Hexadezimalsystem.
Wert als 2er-Potenz | $2^4$ | $2^3$ | $2^2$ | $2^1$ | $2^0$ |
---|---|---|---|---|---|
Wert als 2er-Potenz | 16 | 8 | 4 | 2 | 1 |
Beispiel-Binärzahl | 1 | 0 | 1 | 1 | 0 |
Daraus ergibt sich die Zahl \begin{alignat}{3} 10110_2 &= \underline{1 * 2^4} + 0 * 2^3 &&+ \underline{1 * 2^2} &&+ \underline{1 * 2^1} + 0 * 2^0\\ &= 1 * 16 &&+ 1 * 4 &&+ 1 * 2\\ &= 22_{10} \end{alignat}
Die wesentlichen Eigenschaften für das Binärsystem (Basis 2) lassen sich wie folgt zusammenfassen:
- Jede Stelle besitzt den Wert $Basis^{Stelle}$, wobei Basis in diesem Fall 2 ist und die Stelle rechts mit 0 beginnt und nach links hochzählt.
- Es sind pro Stelle nur die Ziffern 0 bis "Basis-1" erlaubt, hier also 0 und 1.
Das Hexadezimalsystem zur Basis 16
Das Hexadezimalsystem hat die Basis 16 (von griech. hexa „sechs“ und lat. decem „zehn“). Damit muss es nun offenbar die folgenden Eigenschaften haben:
- Jede Stelle besitzt den Wert $16^{Stelle}$, wobei die Stelle rechts mit 0 beginnt und nach links hochzählt.
- Es sind pro Stelle nur die Ziffern 0 bis inkl. 15 erlaubt. Moment, Ziffern? 15 besteht aber bereits aus zwei Ziffern! Daher nutzt man einen Trick. Bis inkl. der 9 wird alles normal dargestellt, danach würde jede Stelle mit 10, 11, … aber zwei Ziffern verschlingen, was nicht erlaubt ist. Stattdessen beginnt man dann mit dem Buchstaben A für die 10, B für die 11, C für die 12, … bis F für die 15.
Wert | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Darstellung im Hexadezimalsystem | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F |
Damit lässt sich z. B. die Hexadezimalzahl $142AD_{16}$ folgendermaßen ins Dezimalsystem umrechnen:
Wert als 16er-Potenz | $16^4$ | $16^3$ | $16^2$ | $16^1$ | $16^0$ |
---|---|---|---|---|---|
Wert als 16er-Potenz | 65536 | 4096 | 256 | 16 | 1 |
Beispiel-Binärzahl | 1 | 4 | 2 | A | D |
\begin{alignat*}{5} 142AD_{16} &= 1 * 16^4 &&+ 4 * 16^3 &&+ 2 * 16^2 &&+ \underline{10} * 16^1 &&+ \underline{13} * 16^0\\ &= 1 * 65536 &&+ 4 * 4096 &&+ 2 * 256 &&+ 10 * 16 &&+ 13 * 1\\ &= 82605_{10} \end{alignat*}
(A1) Hexadezimal zu Dezimal
Übersetze die folgenden Hex-Zahlen ins Dezimalsystem:
$4_{16}$, $16_{16}$, $C4_{16}$, $5D0_{16}$, $AFFE_{16}$
Umwandlung von Dezimal zu Hex
Die Umwandlung vom Hexadezimal- ins Dezimalsystem läuft genauso wie bei der Umwandlung von Dezimal zum Binärsystem: Wir teilen ganzzahlig durch die Basis und betrachten den Rest!
Wandle die Zahl $12262_{10}$ ins Hexadezimalsystem um: \begin{alignat}{3} 12262 : 16 &= 766 \quad &&Rest: 6 \quad &&\rightarrow Ziffer: 6\\ 766 : 16 &= 47 \quad &&Rest: 14 \quad &&\rightarrow Ziffer: E\\ 47 : 16 &= 2 \quad &&Rest: 15 \quad &&\rightarrow Ziffer: F\\ 2 : 16 &= 0 \quad &&Rest: 2 \quad &&\rightarrow Ziffer: 2 \end{alignat} Achtung: Die "Ergebnis-Ziffern" des Rests muss man wieder von rechts nach links aufschreiben, bzw. von unten nach oben lesen. Das Ergebnis lautet also $12262_{10} = 2FE6_{16}$.
(A2) Dezimal zu Hexadezimal
Übersetze die folgenden Dezimalzahlen ins Hex-System (nutze im Zweifelsfall einen Taschenrechner):
13, 30, 95, 162, 1820
Umwandlung von Binär zu Hexadezimal
Mit einer Hex-Ziffer kann man 16 verschiedene Zahlen darstellen. Um im Binärsystem dieselbe Menge an verschiedenen Zahlen darzustellen benötigt man exakt 4 Binärziffern. Man kann also immer 4 Binärziffern zu einer Hex-Ziffer zusammenfassen.
\begin{alignat}{2} &\underbrace{1101}_{13 = D}\ \underbrace{0110}_{6} \qquad\qquad\qquad && \underbrace{1001}_{9}\ \underbrace{1100}_{C}\\ &\rightarrow 1101\ 0110_2 = D6_{16} \qquad\qquad\qquad && \rightarrow 1001\ 1100_2 = 9C_{16} \end{alignat}
Diese Eigenschaft macht das Hexadzimalsystem für uns Informatiker so interessant! Die wichtigste Datenmenge ist bekanntlich das Byte, welches aus 8 Bit besteht. Anstatt nun ganz viele 0er und 1er zu analysieren, die jeweils in 8er-Gruppen zusammengefasst sind, ist es einfacher Hex-Ziffern in 2er-Gruppen zu analysieren.
Binär | Hexadezimal |
---|---|
01101000 01100001 01101100 01101100 01101111 | 68 61 6c 6c 6f |
(A3) Binär zu Hexadezimal
Übersetze die folgenden Binärzahlen ins Hex-System:
- $0011\ 0110_2$, $1111\ 1001_2$, $1010\ 0101_2$,
- Achtung, jetzt wird es kniffliger: Wie musst du die folgenden Bits zu 4er-Gruppen zusammenfassen? $100110_2$, $11011010111_2$
Hexadezimalzahlen addieren
(A4) Führe folgende Rechnungen durch und gib die Ergebnisse als Hexadezimalzahlen an.
- $AB_{16} + CD_{16}$
- $D3_{16} + AE7_{16}$
KA-Vorbereitung: Kontrolliere dich selbst!
Erstelle eigene Aufgaben zur Umwandlung von einem Zahlensysteme zu einem anderen. Nutze anschließend dieses Tool, um dein Ergebnis zu kontrollieren - dort wird sogar eine Erklärung der Umwandlung angezeigt.