Skip to main content
Hexadezimal
FF

Leitfaden zum Hexadezimalsystem

Hexadecimal System

The hexadecimal system uses 16 symbols: 0-9 and A-F (A=10, B=11, C=12, D=13, E=14, F=15). It's a shorthand for binary - each 4 bits is one hex digit. Example: 11111111₂ = FF₁₆ = 255₁₀. Used in programming and colors.

Warum Hex wichtig ist

255 binär ist 11111111 (8 Stellen). Hex FF (2 Zeichen) – für Menschen leichter zu lesen und einzugeben. Speicheradressen, RGB-Farben und Unicode-Codepunkte nutzen Hex. Farbdefinitionen in CSS: #FF0000 (Rot), #00FF00 (Grün), #0000FF (Blau).

Praktische Anwendungen

In CSS-Farben: #3498db Blau, #2ecc342 Grün. In UUID v5: 550e8400-ea29-41d3-af15-6528adf68cc2. ROM-/EEPROM-Dumps als Hex. MAC-Adressen: aa:bb:cc:dd:ee:ff. In Debuggern Speicheradressen als 0x0040A7C0.

#888 ist nicht #808080, und die CSS-Kurzform erreicht 0,02% der Farben

Hexadezimal ist kompaktes Binär: Eine Ziffer sind genau vier Bit, zwei Ziffern also ein Byte. Deshalb schreibt man eine Farbe als drei Paare. Die dreistellige CSS-Kurzform expandiert durch Verdopplung jeder Ziffer statt durch Skalierung — weshalb die meisten Farben gar keine Kurzform haben, Mittelgrau eingeschlossen.

So wird gerechnet

  • Rechnet zwischen Hexadezimal, Dezimal und Binär um, wobei jede Hexziffer vier Bit entspricht.
  • Verarbeitet Farbwerte, bei denen zwei Hexziffern die 256 Stufen eines Kanals ergeben.
  • Macht die Ziffer-zu-Bit-Zuordnung sichtbar, denn darauf ruhen alle diese Konventionen.
1 Hexziffer  = 4 Bit = 16 Werte (0–F)
2 Hexziffern = 8 Bit = 256 Werte (00–FF)

#RRGGBB = 3 Kanäle × 8 Bit = 24 Bit = 16.777.216 Farben
die Kurzform #RGB expandiert durch Verdopplung: #F0A → #FF00AA

Rechenbeispiel

Die volle sechsstellige Form gegen die dreistellige Kurzform.

  1. #RRGGBB sind 24 Bit: 16.777.216 Farben
  2. #RGB sind 12 Bit: 4.096 Farben
  3. die Kurzform deckt 0,0244% des Raums ab
  4. #888 expandiert zu #888888 = 136 je Kanal
  5. Mittelgrau ist jedoch #808080 = 128 je Kanal

#888 und #808080 unterscheiden sich in jedem Kanal um 8 Stufen, und kein dreistelliger Code ergibt #808080. Die Kurzform ist keine Abkürzung aller Farben — sie ist eine kleine Teilmenge, die sich zufällig halb so lang schreiben lässt.

Das Ergebnis lesen

  • Die Expansion verdoppelt die Ziffer, sie skaliert den Bereich nicht. #A wird #AA, nicht ein proportional platzierter Wert — deshalb landet die Kurzformpalette auf 0x00, 0x11, 0x22 und so fort in Schritten von 17 und lässt alles dazwischen aus.
  • Hex hält sich, weil die Abbildung auf Binär exakt und mechanisch ist. Ein Byte sind stets zwei Zeichen, die Umrechnung braucht keine Arithmetik, und nichts wird gerundet — dieselben Gründe, aus denen es für Hashes, MAC-Adressen und Speicherauszüge dient.
  • Groß- und Kleinschreibung ist bei Farbwerten und in den meisten Parsern unerheblich: #FF00AA und #ff00aa sind identisch. Bei Hashes zählt sie nur, wo eine Spezifikation es sagt; Hexzeichenketten ohne Normalisierung zu vergleichen erzeugt häufig falsche Nichtübereinstimmungen.
  • Das Präfix 0x kennzeichnet Hex in den meisten Programmiersprachen, # in CSS, und manche Kontexte nutzen keines. Eine nackte Folge aus Ziffern und Buchstaben ist mehrdeutig — 10 ist dezimal zehn und hexadezimal sechzehn, und die Zeichen verraten nicht, welches gemeint ist.

Häufige Fragen

Warum werden Farben hexadezimal statt dezimal geschrieben?
Weil jeder Kanal ein Byte ist und ein Byte exakt zwei Hexziffern. Dezimal lautet dieselbe Farbe rgb(255, 0, 170) — drei Zahlen variabler Länge mit Trennzeichen gegen sechs feste Zeichen, die sich sauber in Kanäle teilen.
Lässt sich jede Hexfarbe kürzen?
Nur wenn jedes Paar eine verdoppelte Ziffer ist. #FF00AA wird zu #F0A, weil sich jedes Paar wiederholt; #808080 lässt sich gar nicht kürzen, denn 80 ist keine verdoppelte Ziffer. Etwa eine von 4.096 Farben hat eine Kurzform.