5. Exkurs: das Hexadezimalsystem
Das Hexadezimalsystem ist ein Zahlensystem zur Basis 16. Es verwendet die Ziffern 0 bis 9 sowie die Buchstaben A bis F, um die Werte 0 bis 15 darzustellen. Dieses System wird häufig in der Informatik verwendet, da es die Darstellung großer Binärzahlen in einer kompakteren Form ermöglicht.
Im Gegensatz zum Dezimalsystem (Basis 10) oder Binärsystem (Basis 2) hat das Hexadezimalsystem eine Basis von 16. Die 16 Ziffern und Buchstaben stehen für folgende Dezimalwerte:
| Dezimal | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Binär | 0000 | 0001 | 0010 | 0011 | 0100 | 0101 | 0110 | 0111 | 1000 | 1001 | 1010 | 1011 | 1100 | 1101 | 1110 | 1111 |
| Hexadezimal | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F |
Aufgabe 1: Umwandlung Hexadezimal-Dezimal
Das Hexadezimalsystem wird in der Informatik häufig verwendet, um Speicheradressen, Farbwerte (z. B. in HTML mit #RRGGBB-Codes) und die Darstellung von Maschinencode lesbarer zu machen.
1. Speicheradressen
Speicheradressen in einem Computer werden oft im Hexadezimalsystem angegeben. Eine Speicheradresse ist eine eindeutige Kennung für eine bestimmte Speicherstelle.
Beispiel:
Eine 32-Bit-Speicheradresse kann als 0x7FF0B8C8 dargestellt werden. Das Präfix 0x kennzeichnet die Zahl als Hexadezimalwert. Die Darstellung im Binärformat wäre 0111 1111 1111 0000 1011 1000 1100 1000, was wesentlich unübersichtlicher ist. Die Hexadezimaldarstellung ist deutlich kürzer und weniger fehleranfällig.
2. Farbwerte
In der Webentwicklung werden Farben häufig als Hexadezimalcode angegeben, insbesondere in HTML und CSS. Ein solcher Code besteht aus einem # gefolgt von sechs Hexadezimalziffern, die die Intensität der drei Grundfarben Rot, Grün und Blau (RGB) repräsentieren.
Beispiel:
Der Farbcode #FF0000 repräsentiert die Farbe Rot.
Die ersten beiden Ziffern, FF, stehen für Rot. FF in Hexadezimal ist 255 in Dezimal, also maximale Intensität.
Die nächsten beiden Ziffern, 00, stehen für Grün. 00 in Hexadezimal ist 0 in Dezimal, also keine Intensität.
Die letzten beiden Ziffern, 00, stehen für Blau. Auch hier ist die Intensität 0.
Wer gerne mal ein paar Kombinationen testen möchte, findet hier eine tolle Seite dafür (Achtung! Externer Link!).
3. Maschinencode
Der Maschinencode, die für den Prozessor direkt ausführbare Anweisung, wird oft in Hexadezimaldarstellung gezeigt. Dies erleichtert das Debugging und die Analyse von Programmen, da die Binärdarstellung sehr lang und schwer zu lesen wäre.
Beispiel:
Ein Maschinencode-Befehl wie B8 05 00 00 00 könnte in einem Disassembler angezeigt werden.
B8 ist der Opcode (Operationscode) für den Befehl, einen Wert in ein Register zu laden.
05 00 00 00 ist der Wert, der geladen werden soll. Umgerechnet in Dezimal ist dies die Zahl 5.
Die binäre Darstellung dieses Codes wäre 10111000 00000101 00000000 00000000 00000000, was die Lesbarkeit stark einschränkt. Die Hexadezimaldarstellung ist daher die bevorzugte Form für Entwickler.