Zahlenbasis-Konverter

Konvertiere ganze Zahlen zwischen beliebigen Basen von 2 bis 64. Binär, oktal, dezimal, hexadezimal, base36, base58 und base64 auf einmal, mit beliebiger Genauigkeit durch BigInt-Unterstützung.

Konvertiere eine ganze Zahl zwischen zwei beliebigen Basen von 2 bis 64. Gib einen Wert ein, wähle die Basis, in der er geschrieben ist, und jede gängige Darstellung wird sofort aktualisiert. Die Konvertierung verwendet JavaScript BigInt, sodass Zahlen weit über 2^53 volle Genauigkeit behalten.

Positionelle Zahlensysteme verstehen

Was eine Basis eigentlich bedeutet

In einem positionellen System sagt dir die Basis (oder Radix), wie viel jede Stelle wert ist. In Basis 10 bedeuten die Ziffern von 237 2x100 + 3x10 + 7x1. In Basis 16 bedeutet dieselbe Ziffernfolge 2x256 + 3x16 + 7 = 567. Wenn du sie umwandelst, ändert sich an der Zahl nichts, nur die Schreibweise.

Das Ziffernalphabet

Ein Basis-N-System braucht N verschiedene Symbole. Die Ziffern 0–9 decken die ersten zehn ab, dann übernehmen Buchstaben: a ist 10, b ist 11, und so weiter bis z bei 35. Oberhalb von Basis 36 setzt sich das Alphabet mit Großbuchstaben und schließlich + und / fort, was die Reihenfolge ist, die dieses Werkzeug verwendet. Basen bis 36 werden groß-/kleinschreibungsunabhängig behandelt, weil das die fast universelle Konvention ist; oberhalb von 36 wird die Groß-/Kleinschreibung signifikant.

Wo jede Basis vorkommt

  • Basis 2 bildet direkt auf die Hardware ab. Registerinhalte, Bitmasken und Berechtigungsflags lassen sich in Binär am leichtesten durchdenken.
  • Basis 8 gruppiert Bits zu dreien, weshalb Unix-Dateimodi wie 755 oktal sind.
  • Basis 16 gruppiert Bits zu vieren, sodass eine Hex-Ziffer einem Nibble entspricht. Speicheradressen, Farbcodes und Hashes verwenden sie alle.
  • Basis 36 ist die dichteste Basis, die in groß-/kleinschreibungsunabhängigen Systemen wie DNS-Labels überlebt.
  • Basis 58 ist Basis 62 minus die leicht zu verwechselnden Zeichen: 0, O, I und l. Bitcoin-Adressen und viele Kurzlink-Dienste verwenden sie.
  • Basis 64 codiert drei Bytes in vier druckbare Zeichen und ist der Standardweg, um Binärdaten durch rein textbasierte Kanäle zu bewegen.

Genauigkeit

Native JavaScript-Zahlen verlieren über 2^53 die Genauigkeit. Dieser Konverter arbeitet vollständig mit BigInt, sodass ein 200-stelliger Dezimalwert ohne stilles Runden in Binär konvertiert wird. Negative Werte werden unterstützt; ein führendes Minuszeichen bleibt über alle Basen erhalten.

Open-Source-Hinweis: Die Konvertierung ist mit der nativen JavaScript-BigInt-API implementiert. Es wird keine Fremd-Zahlenbibliothek verwendet.

FAQs

Warum überspringt Basis 58 einige Zeichen?
Basis 58 lässt 0, O, I und l bewusst weg, weil sie in gedruckter oder handschriftlicher Form leicht zu verwechseln sind. Das macht Adressen sicherer von Hand abzuschreiben, weshalb Bitcoin sie übernommen hat.
Ist base64 hier dasselbe wie das base64 für E-Mail-Anhänge?
Nein. Dieses Werkzeug behandelt Basis 64 als positionelles Zahlensystem für eine einzelne ganze Zahl. Anhängen-Codierung (RFC 4648) arbeitet auf Byte-Streams und fügt Padding mit '=' hinzu. Verwende dafür das Base64-Werkzeug.
Kann ich sehr große Zahlen konvertieren?
Ja. Alles läuft über BigInt, sodass hunderte Stellen exakt konvertiert werden. Es gibt kein stilles Runden bei 2^53, wie es bei gewöhnlichen JavaScript-Zahlen der Fall wäre.
Ist die Eingabe groß-/kleinschreibungssensitiv?
Für Basen bis 36 ist sie es nicht: 'FF' und 'ff' bedeuten beide 255 in hex. Ab Basis 37 sind Groß- und Kleinbuchstaben unterschiedliche Symbole, also ist die Schreibung entscheidend.
Wie konvertiere ich eine negative Zahl?
Stelle einfach ein Minuszeichen davor. Das Vorzeichen wird in jede Ausgabebasis mitgenommen. Die Zweierkomplement-Darstellung ist ein eigenes Konzept und wird hier nicht angewendet.
Wird etwas an einen Server gesendet?
Nein. Die Konvertierung läuft vollständig in deinem Browser, sodass die Werte, die du eintippst, dein Gerät nie verlassen.