Zahlenbasis-Konverter
Konvertieren Sie zwischen Binär, Oktal, Dezimal und Hexadezimal.
Zahlenbasen verstehen
Eine Zahlenbasis (oder Radix) bestimmt, wie viele eindeutige Ziffern verwendet werden, um Zahlen darzustellen. Die bekannteste ist Basis 10 (Dezimal), die die Ziffern 0–9 verwendet. Computer verwenden nativ Basis 2 (Binär) und nutzen nur 0 und 1.
- Binär (Basis 2): Wird intern von allen digitalen Systemen verwendet. Jede Ziffer ist ein „Bit".
- Oktal (Basis 8): Verwendet die Ziffern 0–7. Häufig in Unix-Datei-Berechtigungen (z. B. chmod 755).
- Dezimal (Basis 10): Das menschliche Standard-Zahlensystem.
- Hexadezimal (Basis 16): Verwendet 0–9 und A–F. Weit verbreitet in Farben (#FF0000), Speicheradressen und Byte-Darstellung.
Häufig gestellte Fragen
Werden sehr große Zahlen unterstützt?
Ja. Dieses Tool verwendet JavaScripts BigInt, das beliebig große Ganzzahlen ohne Genauigkeitsverlust unterstützt. Sie können Zahlen mit Hunderten von Ziffern konvertieren.
Warum ist Binär in der Informatik wichtig?
Computer nutzen elektrische Signale mit zwei Zuständen (an/aus), die natürlich auf Binär (1/0) abgebildet werden. Jede Information (Text, Bilder, Video) wird letztlich als Binär gespeichert und verarbeitet.
Wie Stellenwertschreibweise funktioniert
Ein Stellenwertsystem stellt eine Zahl mit einem festen Satz von Ziffernsymbolen dar, wobei die Position jeder Ziffer ihr Gewicht bestimmt. Das Gewicht der Position i (von rechts gezählt, beginnend bei null) ist base^i. Der Wert der Zahl ist die Summe von digit × base^i über alle Positionen. Die Zeichenfolge 352 zur Basis 10 bedeutet 3×100 + 5×10 + 2×1 = 352. Die Zeichenfolge 1011 zur Basis 2 bedeutet 1×8 + 0×4 + 1×2 + 1×1 = 11 in Dezimal.
Die Stellenwertschreibweise ist eine von zwei großen Erfindungen in der Zahlendarstellung. Die andere ist nicht-positionell (römische Zahlen, ägyptisch-hieratische Schrift), bei der Symbole feste Werte unabhängig von der Position haben. Stellenwertsysteme komprimieren; nicht-positionelle Systeme nicht: Die Zahl 1.888 braucht in Dezimal vier Ziffern, aber acht Zeichen in römischer Schreibweise: MDCCCLXXXVIII.
Eine kurze Geschichte der Zahlenbasen
Die Babylonier betrieben ein positionelles System zur Basis 60 (Sexagesimalsystem) mindestens schon in der altbabylonischen Zeit, etwa 1900 bis 1600 v. Chr. Keilschrifttafeln aus jener Zeit verwenden bereits die Stellenwertschreibweise. Warum 60? Es hat eine einzigartig hohe Anzahl kleiner Teiler (1, 2, 3, 4, 5, 6, 10, 12, 15, 20, 30, 60), was die Bruchrechnung in einer Welt vor den Dezimalbrüchen erleichterte. Das babylonische Erbe steckt noch in Ihrer Tasche: die Zeit (60 Sekunden in einer Minute, 60 Minuten in einer Stunde) und Winkel bzw. geografische Koordinaten (360 Grad in einem Kreis, 60 Bogenminuten pro Grad, 60 Bogensekunden pro Minute) sind direkte Nachfahren. Wenn Sie eine Uhr oder einen Breitengrad ablesen, lesen Sie Sexagesimal.
Das dezimale Stellenwertsystem, wie wir es kennen, wurde von indischen Mathematikern in den frühen Jahrhunderten n. Chr. entwickelt. Der konzeptionelle Sprung, der es von früheren Rechenbrettern unterscheidet, ist ein geschriebenes Symbol für die Null, das als Platzhalter dient. Die früheste eindeutige Verwendung der Null in einem positionellen Kontext wird allgemein Brahmagupta (628 n. Chr.) zugeschrieben, dessen Abhandlung Brāhmasphuṭasiddhānta Regeln für die Arithmetik mit der Null aufstellte. Das Bakhshali-Manuskript zeigt eine noch frühere Verwendung eines Punktes (bindu) als Platzhalter.
Das Dezimalsystem gelangte im 8. bis 9. Jahrhundert von Indien in die islamische Welt; der persische Universalgelehrte al-Khwārizmī schrieb um 825 n. Chr. Über das Rechnen mit indischen Ziffern („algorithm“ und „algebra“ sind direkte etymologische Nachfahren seines Namens und seiner Buchtitel). Europa hinkte hinterher. Leonardo von Pisa, bekannt als Fibonacci, führte Hindu-arabische Ziffern in Liber Abaci (1202) förmlich in das lateinische Europa ein und demonstrierte ihre Überlegenheit gegenüber den römischen Zahlen. Römische Zahlen hielten sich in der europäischen Buchführung bis ins 16. Jahrhundert.
Gottfried Wilhelm Leibniz beschrieb in seiner Schrift von 1703 Explication de l'arithmétique binaire ein vollständig binäres Zahlensystem: Seine Hauptmotivation war jedoch eher philosophisch (Korrespondenz mit dem I Ging) als praktisch. Der Sprung zum binären Rechnen kam mit Claude Shannons Masterarbeit von 1937 am MIT, „A Symbolic Analysis of Relay and Switching Circuits“, die zeigte, dass die boolesche Algebra elektrische Relaisnetzwerke modellieren kann, was Binär zur natürlichen Sprache der digitalen Logik machte.
Die Umrechnungsalgorithmen
Dezimal in eine andere Basis, fortgesetzte Division. Um eine dezimale Ganzzahl N in die Basis b umzuwandeln, teilen Sie N durch b, notieren den Rest, ersetzen N durch den Quotienten und wiederholen, bis der Quotient 0 ist. Die von unten nach oben gelesenen Reste sind die Ziffern in der Basis b. Durchgerechnetes Beispiel für 156 in Binär: 156÷2 = 78 R0, 78÷2 = 39 R0, 39÷2 = 19 R1, 19÷2 = 9 R1, 9÷2 = 4 R1, 4÷2 = 2 R0, 2÷2 = 1 R0, 1÷2 = 0 R1, die Reste von unten nach oben gelesen: 10011100. Probe: 128 + 16 + 8 + 4 = 156.
Andere Basis in Dezimal, Horner-Schema. Beginnen Sie mit 0; multiplizieren Sie für jede Ziffer von links nach rechts die laufende Summe mit der Basis und addieren Sie die neue Ziffer. Durchgerechnetes Beispiel für Hex 1F4: 0×16 + 1 = 1, dann 1×16 + 15 = 31, dann 31×16 + 4 = 500.
Beide Algorithmen laufen in linearer Zeit relativ zur Anzahl der Ziffern, und JavaScripts BigInt implementiert sie im Hintergrund, weshalb dieses Werkzeug keine Präzisionsgrenze hat. Eine 200-stellige Zahl wird zwischen zwei beliebigen Basen sauber und ohne Rundungsverlust umgewandelt, genauso wie es ein Rechner mit beliebig genauer Ganzzahlarithmetik täte.
Die vier Basen, die in der Informatik wichtig sind
- Binär (Basis 2): Transistoren sind an oder aus, daher ist Binär die natürliche Darstellung für digitale Logik. Jedes Datenstück ist letztlich binär.
- Oktal (Basis 8): historisch in den Anfängen der Computertechnik verbreitet, weil sich 3 Binärziffern sauber auf 1 Oktalziffer abbilden lassen. Heute weniger prominent, aber noch in Unix-Dateiberechtigungen (
chmod 755) und einigen veralteten Dateiformaten verwendet. - Dezimal (Basis 10): das alltägliche menschliche Zahlensystem, mit ziemlicher Sicherheit, weil wir zehn Finger haben. Verwendet von Finanzsystemen, der Wissenschaft, überall dort, wo Menschen Zahlen lesen.
- Hexadezimal (Basis 16): genau 4 Bit pro Ziffer, was bedeutet, dass 1 Byte = 2 Hex-Zeichen. Der De-facto-Standard für die kompakte Darstellung auf Byte-Ebene: Hex-Farbcodes (
#FF0000), Speicheradressen (0x7fff...), Unicode-Codepunkte (U+1F600), MAC-Adressen, Hash-Digests.
Zweierpotenzen, die man sich merken sollte
| Potenz | Dezimal | Hex | Warum es wichtig ist |
|---|---|---|---|
| 2⁸ | 256 | 0x100 | Ein Byte; Maximalwert eines 8-Bit-Kanals (RGB) |
| 2¹⁰ | 1,024 | 0x400 | „1K“ im Computing-Kontext |
| 2¹⁶ | 65,536 | 0x10000 | UTF-16-BMP-Größe; Maximum einer 16-Bit-Ganzzahl |
| 2²⁰ | 1,048,576 | 0x100000 | „1M“ im Computing-Kontext |
| 2²⁴ | 16,777,216 | 0x1000000 | 24-Bit-RGB („16,7 Mio. Farben“) |
| 2³² | ~4,3 Milliarden | 0x100000000 | Maximum einer vorzeichenlosen 32-Bit-Ganzzahl; IPv4-Adressraum |
| 2⁶⁴ | ~1.8×10¹⁹ | 0x100… | Maximum einer 64-Bit-Ganzzahl; weit jenseits der Gleitkomma-Präzision |
Wann Sie zu einem Basis-Umrechner greifen würden
- Hex-Dumps lesen aus einem Debugger, einer Netzwerk-Paketaufzeichnung oder einer Binärdatei.
0xFFim Kopf in 255 umzuwandeln ist machbar;0x7F4Ain der Regel nicht. - CSS-Farbcodes:
#FF0000ist dezimal (255, 0, 0). Die Umrechnung von Hex zu RGB ist genau Basis 16 → Basis 10 für jedes Zweizeichen-Paar. - Unix-Dateiberechtigungen:
chmod 755ist oktal: 7 = rwx (Lesen+Schreiben+Ausführen = 4+2+1), 5 = r-x (Lesen+Ausführen = 4+1), nochmals 5. Jede Oktalziffer ist genau 3 Binärbits. - IPv4-Oktette: Adressen wie
192.168.1.1sind vier 8-Bit-Zahlen. Subnetzmasken lassen sich in Binär leichter nachvollziehen (eine/24-Maske besteht aus 24 Einsen, gefolgt von 8 Nullen). - Unicode-Codepunkte: Zeichen werden in Hex katalogisiert (U+2665 für ♥, U+1F600 für 😀). Dezimaläquivalente existieren, aber die Hex-Form entspricht den Unicode-Tabellen.
- Bitmasken-Arithmetik: Feature-Flags, Berechtigungsbits, Hardware-Registerwerte sind alle leichter als Binär oder Hex zu lesen als in Dezimal.
- Assembler oder disassemblierten Code debuggen: Adressen, Opcodes und Direktwerte werden üblicherweise in Hex geschrieben.
Weitere wissenswerte Basen
- Basis 36: die höchste Basis, die ohne Sonderzeichen in alphanumerische Zeichen passt (10 Ziffern + 26 Buchstaben). Verwendet für kurze URL-Hashes und einige Kodierungsschemata. JavaScripts
Number.toString(36)stellt sie direkt bereit. - Basis 58: verwendet in Bitcoin- und Ripple-Adressen. Lässt die leicht zu verwechselnden Zeichen
0(Null),O(großes O),I(großes I) undl(kleines L) aus, sodass Adressen robust gegen handschriftliche Übertragungsfehler sind. - Basis 62: vollständig alphanumerisch (Ziffern + Klein- + Großbuchstaben). Verbreitet in Slugs von URL-Verkürzern (das „abc123“ in
example.com/abc123). - Basis 64: kodiert Binärdaten als druckbares ASCII für den Transport über reine Textkanäle (E-Mail, JSON, URLs). Anderer Anwendungsbereich als dieses Werkzeug: Sie arbeitet mit Byteströmen statt mit Ganzzahlen.
Präfix-Konventionen im Quellcode
Die meisten modernen Sprachen verwenden denselben Satz von Literal-Präfixen, um die Basis im Quellcode eindeutig zu machen:
- Binär:
0boder0B(Python, Ruby, Java seit 7, C++ seit C++14, JavaScript seit ES6, Rust). Beispiel:0b10011100. - Oktal:
0ooder0O(Python 3, ES6, Rust). Ältere Sprachen der C-Familie verwenden eine führende Null (0755), was gelegentlich eine Stolperfalle ist, wenn man versehentlich eine Dezimalzahl mit einer Null auffüllt. - Hex:
0xoder0X: praktisch in jeder Programmiersprache allgemein verstanden. - Dezimal: kein Präfix nötig.
Weitere Fragen
Was ist mit negativen Zahlen?
Computer stellen negative Ganzzahlen im Zweierkomplement dar: alle Bits invertieren und 1 addieren. Im 8-Bit-Zweierkomplement ist −1 also 11111111 (0xFF), −5 ist 11111011 (0xFB) und −128 ist 10000000 (0x80). Das höchstwertige Bit gibt das Vorzeichen an. Dieses Werkzeug zeigt negative Ganzzahlen mit einem führenden Minuszeichen statt einer Zweierkomplement-Darstellung, weil Letztere nur bei einer festen Bitbreite sinnvoll ist, und da das Werkzeug das beliebig genaue BigInt verwendet, gibt es keine feste Breite, gegen die interpretiert werden könnte.
Warum verwendet Hex die Buchstaben A-F?
Weil die Basis 16 sechzehn verschiedene Ziffernsymbole benötigt und die Dezimalziffern 0-9 nur zehn liefern. Die Konvention, A-F (ohne Beachtung der Groß-/Kleinschreibung) für 10-15 zu verwenden, wurde in den 1960er-Jahren durch das IBM System/360 populär gemacht und branchenweit standardisiert. Frühere Systeme experimentierten mit anderen Glyphen (Bendix' G-15 verwendete u, v, w, x, y, z), aber A-F setzte sich durch.
Kann dieses Werkzeug Brüche verarbeiten?
Nein, es arbeitet nur mit Ganzzahlen. Die Umrechnung von Brüchen zwischen Basen ist komplexer, weil die meisten Dezimalbrüche keine exakte Darstellung in Binär haben (das berühmte Gleitkomma-Problem 0.1 + 0.2 ≠ 0.3). Für die Inspektion von Gleitkommazahlen auf Bit-Ebene ist ein spezieller IEEE-754-Visualisierer das richtige Werkzeug.
Werden Daten an einen Server gesendet?
Nein. Die Umrechnungen laufen in Ihrem Browser mit JavaScripts nativer BigInt-Arithmetik. Nichts von Ihrer Eingabe verlässt die Seite; das Werkzeug funktioniert offline, sobald es geladen ist.