Warum Hexadezimal?
Teil des Abschnitts Grundlagen der Assembly-Journey von Coddy. Lektion 10 von 45.
Du weißt jetzt, dass Computer Binärzahlen verwenden. Warum schreiben Assemblerprogrammierer also nur selten direkt Binärzahlen?
Das Problem mit Binärzahlen:
Binärzahlen sind sehr lang. Sieh dir dieses Beispiel an:
| Zahl | Binär |
|---|---|
| 255 | 11111111 |
| 1000 | 1111101000 |
| 65535 | 1111111111111111 |
Das Schreiben langer Zeichenfolgen aus Einsen und Nullen ist langsam, fehleranfällig und schwer zu lesen.
Die Lösung: Hexadezimal (Basis 16).
Hexadezimal (oder „Hex“) verwendet 16 Symbole:
| Ziffer | Wert |
|---|---|
| 0-9 | 0 bis 9 |
| A | 10 |
| B | 11 |
| C | 12 |
| D | 13 |
| E | 14 |
| F | 15 |
Warum Hexadezimal perfekt für Computer ist:
Eine Hexadezimalziffer steht für genau 4 Bits (ein halbes Byte).
| Bits | Benötigte Hexadezimalziffern |
|---|---|
| 4 Bits (Nibble) | 1 Hexadezimalziffer |
| 8 Bits (1 Byte) | 2 Hexadezimalziffern |
| 16 Bits (2 Bytes) | 4 Hexadezimalziffern |
| 32 Bits (4 Bytes) | 8 Hexadezimalziffern |
| 64 Bits (8 Bytes) | 16 Hexadezimalziffern |
Dieselbe Zahl, drei Darstellungen:
| Dezimal | Binär | Hexadezimal |
|---|---|---|
| 255 | 11111111 | FF |
| 1000 | 1111101000 | 3E8 |
| 65535 | 1111111111111111 | FFFF |
Beachte, wie viel kürzer Hexadezimalzahlen im Vergleich zu Binärzahlen sind.
Wo du Hexadezimalzahlen in Assembler siehst:
- Speicheradressen (wie
0x7FFFoder0x402000) - ASCII-Codes (wie
0x41für „A“,0x0afür Zeilenumbruch)
- Registerwerte in Debuggern
- Farbwerte (wie
0xFF0000für Rot)
Hexadezimalzahlen werden mit einem Präfix geschrieben:
| Präfix | Beispiel | Bedeutung |
|---|---|---|
0x | 0xFF | FF hexadezimal (255 dezimal) |
$ | $FF | Dasselbe (wird in einigen Assemblern verwendet) |
h | FFh | Dasselbe (ältere Schreibweise) |
In diesem Kurs verwenden wir das Präfix 0x: 0x0a, 0x41, 0xFF.
Probier es selbst
Diese Lektion enthält keine Programmieraufgabe.
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Grundlagen
1Die Maschine
Was ist eine CPUSpeicherRegister vs. SpeicherWie Befehle funktionierenZwei-Dateien-MusterDie x86-64 Architektur2Zahlensysteme
Warum Binär?BinärzahlenDezimal zu BinärWarum Hexadezimal?Hex zu DezimalDezimal zu HexASCII & HexÜbe selbstständig: Assembly-Playground
Prüfe eine Umrechnung: Zahlensystem-Konverter