Warum Hexadezimal?
Teil des Abschnitts Grundlagen der Assembly-Journey von Coddy — Lektion 10 von 45.
Sie wissen nun, dass Computer Binärcode verwenden. Warum schreiben Assembler-Programmierer also selten direkt Binärcode?
Das Problem mit Binärzahlen:
Binärzahlen sind sehr lang. Schauen Sie sich dieses Beispiel an:
| Zahl | Binär |
|---|---|
| 255 | 11111111 |
| 1000 | 1111101000 |
| 65535 | 1111111111111111 |
Das Schreiben langer Ketten 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 Hexadezimalstelle repräsentiert genau 4 Bits (ein halbes Byte).
| Bits | Benötigte Hexadezimalstellen |
|---|---|
| 4 Bits (Nibble) | 1 Hexadezimalstelle |
| 8 Bits (1 Byte) | 2 Hexadezimalstellen |
| 16 Bits (2 Bytes) | 4 Hexadezimalstellen |
| 32 Bits (4 Bytes) | 8 Hexadezimalstellen |
| 64 Bits (8 Bytes) | 16 Hexadezimalstellen |
Dieselbe Zahl auf drei Arten:
| Dezimal | Binär | Hexadezimal |
|---|---|---|
| 255 | 11111111 | FF |
| 1000 | 1111101000 | 3E8 |
| 65535 | 1111111111111111 | FFFF |
Beachten Sie, wie viel kürzer Hex gegenüber Binär ist.
Wo Sie Hexadezimalzahlen in Assembly sehen werden:
- 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 in Hex (255 in Dezimal) |
$ | $FF | Dasselbe (wird in einigen Assemblern verwendet) |
h | FFh | Dasselbe (älterer Stil) |
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