Wie die Basiskonvertierung funktioniert
Jedes Stellenwertsystem stellt einen Wert als Summe von Ziffern dar, die mit Potenzen der Basis multipliziert werden. Das Wechseln der Basis bedeutet, denselben Wert in Bezug auf eine andere Potenzreihe neu zu schreiben.
- Eingabealphabet validieren. Jede Basis akzeptiert einen bestimmten Ziffernsatz. Binär akzeptiert 0 und 1; Oktal 0–7; Dezimal 0–9; Hex 0–9 und A–F. Ein Zeichen außerhalb des gewählten Alphabets erzeugt einen Inline-Fehler, bevor eine Konvertierung startet.
- Wert parsen. Für Werte, die in eine JavaScript-Number passen (bis 2^53-1), ruft das Tool
parseInt(text, base)auf. Darüber wechselt es zuBigInt, damit die Konvertierung für beliebig große ganze Zahlen exakt bleibt. - In jeder Zielbasis ausgeben. Der geparste Wert wird über
Number.prototype.toString(base)oderBigInt.prototype.toString(base)in jede Ausgabebasis umgewandelt. Die vier Standardfelder (Binär, Oktal, Dezimal, Hex) und das benutzerdefinierte Feld aktualisieren sich gemeinsam. - Formatierung anwenden. Ein Präfix-Schalter fügt 0b, 0o oder 0x vor binäre, oktale und hexadezimale Ausgaben ein. Die Zifferngruppierung setzt alle vier Binärziffern und alle zwei Hex-Ziffern einen Unterstrich. Ein Hex-Schreibweise-Schalter wählt Groß- oder Kleinbuchstaben für A–F.
- Live-Synchronisation aller Felder. Das Bearbeiten eines Feldes löst eine 100-ms-debounced Neukonvertierung aus, die die anderen Felder aktualisiert. Das Feld, in das du gerade tippst, gilt pro Tastendruck als Quelle der Wahrheit.
Warum einen Basiskonverter nutzen
- Memory-Dumps lesen. Debugger, Disassembler und Core-Dump-Viewer zeigen Adressen und Registerwerte in Hex. Das Umrechnen in Dezimal macht sie mit Zählern, Größen und Offsets vergleichbar, die anderswo im gleichen Trace gemeldet werden.
- Mit Farbcodes arbeiten. CSS, Design-Tools und Bildformate codieren Farben in Hex-Tripeln wie #d2511a. Jedes Paar in Dezimal umzurechnen ergibt die Form rgb(210, 81, 26), die dein Farbwähler oder Barrierefreiheits-Checker erwartet.
- Dateiberechtigungen entschlüsseln. Unix-chmod-Werte werden oktal geschrieben: 755 bedeutet rwxr-xr-x, wenn du jede Oktalziffer in ihre drei Binärbits übersetzt. Der Konverter zeigt diese Zuordnung in einem Schritt, ohne eine Man-Page zu öffnen.
- Bit-Flags debuggen. Netzwerkprotokolle, Kernel-Syscalls und Hardware-Register packen viele boolesche Flags in eine einzelne Ganzzahl. Den Wert binär zu lesen zeigt auf einen Blick, welche Bits gesetzt sind — genau das, was du brauchst, wenn ein Flag keine Wirkung hat.
Typische Anwendungsfälle
Basiskonvertierung taucht in der täglichen Arbeit von Entwicklern, Sicherheitsforschern und Hardware-Ingenieuren auf, wann immer eine Zahl mehr als nur eine Mengenangabe ist.
- Embedded Firmware: Einen Hex-Dump von einer JTAG-Sonde lesen, die Adresse einer Funktion finden und einen Breakpoint-Befehl mit dem dezimalen Offset schreiben, den das Debugger-Skript erwartet.
- Netzwerksicherheit: Eine 32-Bit-Netzmaske in dotted-decimal zurück in Binär parsen, um die Präfixlänge zu zählen, und dann die CIDR-Form für eine ACL-Regel notieren.
- CTF-Aufgaben und Krypto-Challenges: Zwischen Hex, Dezimal und Binär wechseln, während ein geleaktes Schlüsselfragment unter XOR mit einem Klartext-Kandidaten verglichen wird.
Ein konkretes Beispiel
Tippe 255 in das Dezimalfeld. Das Hex-Feld aktualisiert sich zu FF (bzw. 0xFF mit aktiviertem Präfix), das Binärfeld zu 11111111 (gruppiert als 1111_1111) und das Oktalfeld zu 377. Stelle die benutzerdefinierte Basis auf 36; derselbe Wert erscheint als 73. Tippe einen viel größeren Wert wie 123456789012345678901234567890 in das Dezimalfeld; das Hex-Feld nutzt den BigInt-Pfad und zeigt 18EE90FF6C373E0EE4E3F0AD2.
FAQ
Was ist eine Zahlenbasis?
Eine Zahlenbasis (oder Radix) gibt an, wie viele verschiedene Ziffern ein Stellenwertsystem verwendet, bevor es in die nächste Stelle überträgt. Dezimal (Basis 10) verwendet 0–9; Binär (Basis 2) nur 0 und 1; Hexadezimal (Basis 16) verwendet 0–9 plus A–F. Der Wert einer Zahl ändert sich beim Wechsel der Basis nicht — nur die Schreibweise und Gruppierung der Ziffern.
Warum wird Hexadezimal beim Programmieren verwendet?
Eine Hex-Ziffer entspricht exakt vier Binärbits, also decken zwei Hex-Ziffern ein Byte und acht Hex-Ziffern ein 32-Bit-Wort ab. Das macht Hex zur kompaktesten, menschenlesbaren Form für Speicheradressen, Registerinhalte, Farbtripletts und kryptografische Schlüssel. 0xFF zu lesen geht schneller als 11111111, und das Bitmuster ist direkt sichtbar.
Kann ich über Basis 36 hinaus konvertieren?
Dieses Tool endet bei Basis 36, weil das die Obergrenze der nativen JavaScript-APIs parseInt und toString ist, die 0–9 gefolgt von A–Z als Zifferalphabet akzeptieren. Basen 37–62 sind mit einem eigenen Alphabet möglich (Base58, wie bei Bitcoin-Adressen), werden aber als separates Tool geführt, weil jede höhere Basis eine eigene kanonische Ziffernreihenfolge benötigt.
Werden negative Zahlen und Gleitkommazahlen unterstützt?
Negative ganze Zahlen werden mit einem führenden Minuszeichen in jeder Basis dargestellt, genau wie Number.prototype.toString es liefert. Die Zweierkomplementdarstellung für eine bestimmte Bitbreite (8, 16, 32, 64) ist eine separate Ansicht, die wir noch hinzufügen möchten. Die Gleitkomma-Basiskonvertierung liegt ebenfalls außerhalb des Umfangs dieser Version; das Tool verarbeitet nur ganzzahlige Werte.
Basiskonvertierung ist eine kleine Aufgabe, die in Firmware-, Sicherheits- und Grafikarbeit immer wieder vorkommt. Sie im Browser zu erledigen, mit denselben Arithmetik-Primitiven, die Node und V8 bereits mitliefern, hält die Arbeit schnell und die Daten auf deinem Rechner.