Binär, Oktal, Dezimal, Hex: Ein Entwickler-Leitfaden zur Zahlenbasis-Konvertierung
2026-08-12
0xFF, 0b1010, 0755, 255 — vier Arten, Zahlen zu schreiben, die ständig in Code, Konfigurationsdateien, Berechtigungen, Farben und Netzwerkadressen auftauchen. Jeder Programmierer entwickelt mit der Zeit eine grobe Flüssigkeit mit Binär und Hex, doch oft ist es Mustererkennung statt Verständnis: Sie wissen, dass 0xFF 255 ist, weil Sie es tausendmal gesehen haben, nicht weil die Umrechnung offensichtlich wäre. Diese Anleitung baut das eigentliche Verständnis auf — was eine „Basis“ ist, wie Sie zwischen beliebigen zweien umrechnen und welche mentalen Abkürzungen Hex und Binär so natürlich wie Dezimal wirken lassen.
Was eine „Basis“ wirklich ist
Alle obigen Zahlensysteme sind dieselbe Idee mit unterschiedlicher Breite: Stellenwertnotation. Die Zahl 255 in Dezimal bedeutet 2×100 + 5×10 + 5×1 — der Wert jeder Ziffer ist ihr Nennwert mal einer Zehnerpotenz, und die Potenz bestimmt die Position. Ändern Sie den Multiplikator von Zehnerpotenzen auf Potenzen einer anderen Zahl b, erhalten Sie Basis b. Sie brauchen genau b verschiedene Ziffernsymbole:
- Binär (Basis 2): Ziffern 0–1. Zweierpotenzen.
- Oktal (Basis 8): Ziffern 0–7. Achterpotenzen.
- Dezimal (Basis 10): Ziffern 0–9. Zehnerpotenzen.
- Hexadezimal (Basis 16): Ziffern 0–9 plus A–F für die Werte 10–15. Sechzehnerpotenzen.
1010 in Binär bedeutet also 1×8 + 0×4 + 1×2 + 0×1 = 10, und FF in Hex bedeutet 15×16 + 15×1 = 255. Diese eine Expansion — Ziffer mal Basis-hoch-Position, summiert — ist jede Umrechnungsformel in Verkleidung. Jede Basis → Dezimal ist buchstäblich nur das Ausschreiben dieser Summe.
Warum Programmierer in Binär und Hex leben
Computer speichern alles als Bits, Binär ist also die Grundwahrheit — doch rohes Binär ist in jeder Länge unlesbar: 11111111 strapaziert das Auge, und 32-Bit-Werte sind hoffnungslos. Hex löst das durch einen wunderbaren Zufall: 16 ist 2⁴, also entspricht genau eine Hex-Ziffer genau vier Binärziffern (ein Nibble). Hex ↔ Binär umzurechnen erfordert gar keine Arithmetik, nur eine 16-zeilige Nachschlagetabelle:
0=0000 1=0001 2=0010 3=0011 4=0100 5=0101 6=0110 7=0111
8=1000 9=1001 A=1010 B=1011 C=1100 D=1101 E=1110 F=1111
0xF5 → F=1111, 5=0101 → 11110101. Andersherum gruppieren Sie Binär von rechts in Vierergruppen und übersetzen jede Gruppe. Deshalb taucht Hex überall auf, wo Menschen rohe Bytes lesen müssen: Speicheradressen, MAC-Adressen, Farbcodes (#FF5733 sind drei Bytes), Dateisignaturen, Hashes. Ein Byte = immer zwei Hex-Ziffern.
Oktal überlebt aus demselben Grund mit Dreiergruppen (8 = 2³): eine Oktalziffer = drei Bits. Sein wichtigstes modernes Habitat sind Unix-Dateiberechtigungen — chmod 755 sind drei Gruppen von drei Bits (Lesen/Schreiben/Ausführen). Dezimal bleibt unterdessen das, worin Menschen denken, weshalb die Rückumrechnung nach Dezimal der andere Alltagsbedarf ist.
Umwandlung IN Dezimal: expandieren und summieren
Die universelle Methode für jede Basis → Dezimal ist die Stellenwert-Expansion:
0x2F = 2×16 + 15 = 47
0b1010 = 1×8 + 1×2 = 10
0o755 = 7×64 + 5×8 + 5 = 493
Speziell für Hex ist ein nützlicher Reflex, die „Orientierungswerte“ zu kennen: 0x10=16, 0x20=32, 0x40=64, 0x80=128, 0xFF=255, 0x100=256. Die meiste Hex, auf die Sie stoßen, liegt nahe einem davon, 0xF5 ist also „etwas weniger als 0xFF“ ≈ 245 (es ist 245; prüfen: 15×16+5). Brauchen Sie eine exakte Umrechnung schnell, erledigt der Zahlenbasis-Konverter Binär, Oktal, Dezimal und Hex in beide Richtungen.
Umwandlung VON Dezimal: dividieren und Reste sammeln
Dezimal → jede Basis nutzt wiederholte Division durch die Zielbasis; die Reste, rückwärts gelesen, sind die Ziffern:
247 ÷ 16 = 15 Rest 7 → 7
15 ÷ 16 = 0 Rest 15 → F
von unten lesen: 0xF7
Für Dezimal → Binär gibt es eine Abkürzung, die viele Entwickler bevorzugen: Zweierpotenzen abziehen. Kennen Sie die Folge 1, 2, 4, 8, 16, 32, 64, 128 auswendig. Für 247: 128 nehmen (119 übrig), 64 nehmen (55), 32 nehmen (23), 16 nehmen (7), 8 überspringen, 4 nehmen (3), 2 nehmen (1), 1 nehmen. Bits gesetzt an Positionen 7,6,5,4,2,1,0 → 11110111. Prüfen über Hex: 11110111 = F7. ✓
Präfixe und Notation in verschiedenen Sprachen
Dieselben Werte tragen je nach Kontext verschiedene Präfixe:
0x- oder#-Präfix = Hex (0xFFin C/Java/JS/Python,#FF5733in CSS,FF5733nackt in vielen Tools)0b= Binär in den meisten modernen Sprachen;0Bin einigen- Führende
0= Oktal in C und JavaScript-Altlasten (0755);0oin Python und modernem JS (0o755) \xin String-Escapes ist Hex ("\x41"ist „A“), während\ueinen Unicode-Codepunkt in Hex einführt
Zwei Fallen: Eine nackte führende Null macht 0755 in mehreren Sprachen zu Oktal und ändert still den Wert (010 = 8); und oktal aussehende Literale wie 08 oder 09 sind im Strict Mode schlicht ungültig. Im Zweifel nutzen Sie explizite Präfixe und prüfen mit einem Konverter.
Wo das in echter Arbeit auftaucht
- Farben:
#FF5733sind drei Bytes — Farbkanäle umzurechnen ist Hex↔Dezimal. - Berechtigungen:
chmod 755ist Oktal für Bitgruppen; der chmod-Rechner zeigt die Bit-Zuordnung direkt. - Zeichencodes: ASCII
Aist 65 dezimal =0x41=0b01000001; die ASCII-Tabelle listet alle drei Spalten nebeneinander. - Größen und Speicher: Dateigrößen mischen dezimale Marketing-Einheiten mit binären Hardware-Einheiten — KB vs. KiB —, eine eigene Basis-Verwirrung, die der Byte-Konverter entwirrt.
- Bitweise Flags: APIs, die Optionen als
FLAG_A | FLAG_Bpacken, sind verkleidetes Binär;flags & 0b0100flüssig zu lesen heißt, Binärpositionen zu lesen.
Kurzreferenz
- Jede Basis → Dezimal:
Ziffer × Basis^Positionexpandieren und summieren. - Dezimal → jede Basis: wiederholt dividieren, Reste von unten sammeln.
- Hex ↔ Binär: eine Hex-Ziffer = 4 Bits, reine Tabellensuche, keine Mathematik.
- Oktal ↔ Binär: eine Oktalziffer = 3 Bits.
- Orientierungswerte:
0xFF=255,0x100=256,0b1000=8,0755(oktal)=493. - Präfixe:
0xHex,0bBinär,0o/führende-0Oktal (die Führende-Null-Form ist eine Altlast-Falle).