Zahlenbasis-Konverter

Werte zwischen Binär, Oktal, Dezimal und Hexadezimal auf einen Schlag konvertieren.

Wie es funktioniert

Jede gängige Basis stellt dieselbe Ganzzahl mit unterschiedlich vielen Ziffern dar. Dezimal (Basis 10) nutzt 0 – 9. Binär (Basis 2) nutzt nur 0 und 1 und verdoppelt den Stellenwert mit jeder Position nach links: 1011 binär = 1×8 + 0×4 + 1×2 + 1×1 = 11 dezimal. Hexadezimal (Basis 16) nutzt 0 – 9 und dann A – F für 10 – 15, jede Position ist 16-mal die nächste; 0xFF = 15×16 + 15 = 255. Oktal (Basis 8) ist der wenig genutzte Mittelweg — einst Standard auf PDP-Minicomputern, heute vor allem in Unix-Dateirechten (chmod 755) zu sehen.

Warum vier Basen? Weil jede einen realen Job hat. Binär ist, was die CPU ausführt. Hex ist Binär in lesbarer Form — jede Hex-Ziffer entspricht exakt vier Binärziffern (Nibble), 0xDEADBEEF liest sich besser als 11011110101011011011111011101111. Oktal gruppiert drei Bits pro Ziffer (nützlich, als es noch 9-Bit-Bytes gab). Dezimal ist menschliches Zählen. Der Rechner liest eine ein und gibt die anderen drei aus, damit Sie ohne Mathe-Jonglieren querchecken können.

Werte über 2³¹ − 1 (2.147.483.647) werden abgelehnt, weil dort das Verhalten der vorzeichenbehafteten 32-Bit-Ganzzahl bricht und Bitwise-Operationen in den meisten Sprachen unerwartete Ergebnisse liefern.

Die Formel

Für Ziffern dₙ dₙ₋₁ … d₁ d₀ in Basis b: Wert = Σ dᵢ × bⁱ Binär: Bits verdoppeln sich von links nach rechts. Oktal: Ziffern 0–7, Gewicht 8. Hex: 0–9, dann A=10 … F=15, Gewicht 16.

Das Widget delegiert an JavaScripts eingebaute parseInt(str, base) und Number.prototype.toString(base); die Standardbibliothek übernimmt die Schwerstarbeit. Die Validierung erzwingt vorab den richtigen Ziffernsatz pro Basis, sodass nicht-binäre Zeichen in einer Binäreingabe einen klaren Fehler ergeben statt eines stillschweigend abgeschnittenen NaN.

Beispielrechnung

  • Tippe 255 bei aktivem Dezimal-Button.
  • Die Ergebniszeile zeigt Binär 11111111 · Oktal 377 · Dezimal 255 · Hex FF.
  • Hex klicken und DEADBEEF eintippen → Dezimal 3.735.928.559. (Knapp unter der 2³¹-Obergrenze.)

Häufig gestellte Fragen

Warum ist die Obergrenze 2³¹ − 1 und nicht 2⁶³?

JavaScript stellt Zahlen als 64-Bit-Floats dar und kann Ganzzahlen bis 2⁵³ − 1 für gewöhnliche Arithmetik sicher verarbeiten. Sobald aber Bitwise-Operationen (& | ^ << >> ~) ins Spiel kommen, wandelt die Runtime die Operanden in vorzeichenbehaftete 32-Bit-Ganzzahlen um, sodass alles über 2³¹ − 1 still das Vorzeichen wechselt oder umläuft. Wir deckeln hier bei 2³¹ − 1, damit die angezeigten Basen mit dem übereinstimmen, was Sie in einer Bitwise-Expression im Produktivcode sehen würden.

Was ist mit Präfixen wie 0x und 0b?

Das Widget weist sie zurück — nur die Ziffern eintippen und die Basis per Button setzen. Das ist Absicht: ein Präfix ist eine Konvention der Programmiersprache (C, Python, JavaScript), keine Eigenschaft der Zahl, und Präfixe in den vier Basen uneinheitlich zu akzeptieren macht den Validator laut. Wenn Sie 0xFF einfügen, entfernen Sie das 0x und wählen Hex.

Warum ist Hex unabhängig von Groß-/Kleinschreibung, wird aber großgeschrieben angezeigt?

Hex in Kleinbuchstaben (ff, deadbeef) und in Großbuchstaben (FF, DEADBEEF) parsen zur selben Ganzzahl; beide sind gültig. Die Anzeige normalisiert auf Großbuchstaben, weil das die dominierende Konvention in Finanzen, Hardware und in den meisten Dokumentationen ist (Intel-Manuals, RFCs, RGB-Farbsyntax). Kleinbuchstaben gewinnen in manchen Web-Dev-Kontexten — CSS, Node-Debug-Ausgaben — aber das ist Stil, keine Korrektheit. Beide Formen lassen sich einfügen und funktionieren.

Ähnliche Rechner