Hexadezimal in der Praxis

Warum Hexadezimal in der IT?

Hexadezimal ist die Brücke zwischen der Binärwelt des Computers und der menschlichen Lesbarkeit. Binärzahlen werden schnell unhandlich lang – die Zahl 255 sieht binär so aus: 11111111. Hexadezimal fasst je 4 Bit zu einer Stelle zusammen und macht lange Binärzahlen kompakt und lesbar:

Binär:       1111 1111 1110 0000 1010 1010
Hexadezimal: F    F    E    0    A    A
             → FFEE0AA  (statt 24 Einsen und Nullen)

Hexadezimal begegnet uns überall in der IT: MAC-Adressen, IPv6, Farben, Speicheradressen, Fehlercodes und Dateisignaturen.

Das Hexadezimalsystem – Wiederholung

Dezimal

Hexadezimal

Binär (4 Bit)

0

0

0000

1

1

0001

2

2

0010

3

3

0011

4

4

0100

5

5

0101

6

6

0110

7

7

0111

8

8

1000

9

9

1001

10

A

1010

11

B

1011

12

C

1100

13

D

1101

14

E

1110

15

F

1111

Hexadezimalzahlen werden zur Unterscheidung von Dezimalzahlen mit verschiedenen Präfixen geschrieben:

Schreibweise

Beispiel

Verwendung

0x vorangestellt

0xFF

Programmierung (C, Java, Python)

# vorangestellt

#FF5733

HTML/CSS Farben

h nachgestellt

FFh

Assembler, ältere Dokumentationen

Doppelpunkt getrennt

00:1A:2B

MAC-Adressen

Doppelpunkt getrennt

2001:0db8

IPv6-Adressen

MAC-Adressen

Eine MAC-Adresse (Media Access Control) ist die physische Adresse einer Netzwerkkarte. Sie besteht aus 48 Bit = 6 Byte = 12 Hexadezimalstellen und ist weltweit eindeutig:

00:1A:2B:3C:4D:5E
│  │  │  │  │  │
└──┴──┴──┘  └──┴──┴──┘
OUI (3 Byte)    Geräte-ID (3 Byte)
Hersteller      Seriennummer

Teil

Bits

Bedeutung

OUI (Organizationally Unique Identifier)

24 Bit (3 Byte)

Hersteller-ID – vergeben von der IEEE

Geräte-ID (NIC Specific)

24 Bit (3 Byte)

Eindeutige Seriennummer des Herstellers

Bekannte OUI-Beispiele:
00:50:56 → VMware (virtuelle Netzwerkkarten)
00:1A:A0 → Dell
3C:22:FB → Apple
00:1B:63 → Apple (ältere Geräte)
DC:A6:32 → Raspberry Pi Foundation

Schreibweisen für MAC-Adressen:

00:1A:2B:3C:4D:5E   (Linux – Doppelpunkt)
00-1A-2B-3C-4D-5E   (Windows – Bindestrich)
001A.2B3C.4D5E      (Cisco – Punkt alle 4 Stellen)
001A2B3C4D5E        (ohne Trennzeichen)

IPv6-Adressen

IPv6-Adressen bestehen aus 128 Bit = 16 Byte = 32 Hexadezimalstellen, aufgeteilt in 8 Gruppen zu je 4 Hex-Stellen:

2001:0db8:85a3:0000:0000:8a2e:0370:7334
   │    │    │    │    │    │    │    │
   Gruppe 1  ...                Gruppe 8
   (16 Bit)                    (16 Bit)

Jede Gruppe hat 4 Hex-Stellen = 16 Bit = 2 Byte. Vereinfachungsregeln:

Regel 1 – Führende Nullen weglassen:
2001:0db8:0000:0042 → 2001:db8:0:42

Regel 2 – Nullgruppen kürzen (nur einmal!):
2001:0db8:0000:0000:0000:0000:0000:0001
→ 2001:db8::1

Farben in HTML und CSS

Farben werden im Web als RGB-Hexadezimalwert dargestellt. Jede Farbe besteht aus drei Kanälen (Rot, Grün, Blau) mit je 1 Byte (0–255):

#RRGGBB

#FF0000 → Rot   (R=255, G=0,   B=0)
#00FF00 → Grün  (R=0,   G=255, B=0)
#0000FF → Blau  (R=0,   G=0,   B=255)
#FFFFFF → Weiß  (R=255, G=255, B=255)
#000000 → Schwarz (R=0, G=0,   B=0)
#FF5733 → Orange-Rot

Umrechnung am Beispiel #FF5733:

FF = 15×16 + 15 = 255  → Rot-Anteil:  255 (maximum)
57 = 5×16  + 7  =  87  → Grün-Anteil:  87
33 = 3×16  + 3  =  51  → Blau-Anteil:  51

→ Kräftiges Orange-Rot

Mit Alpha-Kanal (Transparenz) gibt es auch 8-stellige Hex-Farben:

#RRGGBBAA

#FF573380 → Orange-Rot mit 50% Transparenz
            (80 hex = 128 dez = 50% von 255)

Speicheradressen

Arbeitsspeicher (RAM) wird intern durch hexadezimale Speicheradressen angesprochen. Jede Adresse zeigt auf eine bestimmte Speicherstelle:

32-Bit System: Adressen von 0x00000000 bis 0xFFFFFFFF
               = 4.294.967.296 Adressen = 4 GiB RAM maximum

64-Bit System: Adressen von 0x0000000000000000
                          bis 0xFFFFFFFFFFFFFFFF
               = 2⁶⁴ Adressen = 18 Exabyte theoretisch

In der Praxis sieht man Speicheradressen bei:

  • Fehlermeldungen: Access violation at address 0x00401A2F

  • Debugger-Ausgaben: ESP: 0x7FFE4B2A

  • BIOS/UEFI-Konfiguration

  • Netzwerktreibern und Hardware-Registern

Fehlercodes und Windows Stop-Codes

Windows zeigt Fehler als hexadezimale Codes an – der berühmte Blue Screen of Death (BSOD):

0x0000007B → INACCESSIBLE_BOOT_DEVICE
             (Festplatte nicht gefunden beim Start)

0x00000050 → PAGE_FAULT_IN_NONPAGED_AREA
             (Speicherzugriffsfehler)

0xC0000005 → STATUS_ACCESS_VIOLATION
             (Programm greift auf gesperrten Speicher zu)

Dateisignaturen (Magic Bytes)

Jeder Dateityp beginnt mit einer charakteristischen Bytefolge – den sogenannten Magic Bytes oder File Signatures. Diese werden hexadezimal dargestellt:

Dateityp

Magic Bytes (Hex)

Als Text

PDF

25 50 44 46

%PDF

JPEG

FF D8 FF

ÿØÿ

PNG

89 50 4E 47

‰PNG

ZIP

50 4B 03 04

PK..

EXE (Windows)

4D 5A

MZ

GIF

47 49 46 38

GIF8

MP3

49 44 33

ID3

Das Betriebssystem erkennt Dateitypen anhand dieser Magic Bytes – nicht nur anhand der Dateiendung. Deshalb kann man eine EXE-Datei nicht einfach durch umbenennen in eine harmlose TXT-Datei verwandeln.

Hexadezimal im Netzwerk-Monitoring

Bei der Analyse von Netzwerkpaketen mit Tools wie Wireshark sieht man die Rohdaten hexadezimal:

Ethernet-Frame (Hexdump):
ff ff ff ff ff ff   → Ziel-MAC: Broadcast
00 1a 2b 3c 4d 5e   → Quell-MAC: 00:1A:2B:3C:4D:5E
08 00               → EtherType: IPv4 (0x0800)
45 00 00 3c         → IP-Header beginnt...
c0 a8 01 01         → Quell-IP: 192.168.1.1
                      (C0=192, A8=168, 01=1, 01=1)

Die IP-Adresse 192.168.1.1 in Hex:

192 = C0
168 = A8
  1 = 01
  1 = 01
→ C0.A8.01.01 oder 0xC0A80101

Praktische Umrechnungen

IP-Adresse → Hexadezimal

10.0.0.1 → Hex:
10  = 0A
 0  = 00
 0  = 00
 1  = 01
→ 0x0A000001

Hexadezimal → IP-Adresse

0xAC100A01 → IP:
AC = 172
10 =  16
0A =  10
01 =   1
→ 172.16.10.1

Zusammenfassung

  • Hexadezimal fasst je 4 Bit zu einer Stelle zusammen – kompakt und lesbar

  • MAC-Adressen: 48 Bit = 6 Byte = 12 Hex-Stellen (OUI + Geräte-ID)

  • IPv6-Adressen: 128 Bit = 32 Hex-Stellen in 8 Gruppen

  • HTML-Farben: #RRGGBB – je 1 Byte (0–255) pro Farbkanal

  • Speicheradressen werden hexadezimal dargestellt (0x...)

  • Magic Bytes identifizieren Dateitypen unabhängig von der Endung

  • Netzwerkpakete können als Hexdump analysiert werden

  • IP-Adresse in Hex: jeden Oktett einzeln umrechnen