Blog
Deutsch

Zahlensystem-Umrechner — Binär, Oktal, Dezimal, Hex

Umrechnung in Basis 2/8/10/16/36 und eigene Basis mit BigInt, negativen Zahlen und Präfixen 0x/0b/0o

Verarbeitung im Browser · kein Hochladen

Was das Tool ist

Dieselbe Zahl ist binär 11111111, hexadezimal ff und dezimal 255. Speicheradressen, Farbcodes, Bitmasken und Unix-Dateirechte (oktal) zwingen einen immer wieder, einen Wert in einem anderen Zahlensystem zu lesen. Geben Sie hier eine Zahl ein und sehen Sie sie gleichzeitig in Basis 2, 8, 10, 16, 36 und einer Basis Ihrer Wahl.

Anleitung

  1. Geben Sie eine Zahl ein. Leerzeichen und _ werden als Zifferntrenner ignoriert, 1111_0000 ist also in Ordnung.
  2. Wählen Sie die Eingabebasis. Die Voreinstellung „Automatisch“ sucht nach einem Präfix 0x, 0b oder 0o und nimmt sonst das Dezimalsystem an.
  3. Kopieren Sie den benötigten Wert aus der Ergebnistabelle. Die Zeile für die eigene Basis akzeptiert jede Basis von 2 bis 36.
  4. Aktivieren Sie Großbuchstaben, wenn Ihnen FF lieber ist als ff.

So funktioniert es

  • Das Einlesen erfolgt mit BigInt. Jedes Zeichen wird von links nach rechts gelesen und als value = value × base + digit aufsummiert. Eine Größenbeschränkung gibt es daher nur durch die Obergrenze von 20.000 Zeichen.
  • Die Ziffern stammen aus 0–9 und den Buchstaben a–z (Groß-/Kleinschreibung egal) und stehen für die Werte 0–9 und 10–35. Deshalb ist Basis 36 die höchstmögliche.
  • Ein Ziffernwert, der gleich der Basis oder größer ist, wird mit seiner Position und den in dieser Basis erlaubten Ziffern gemeldet. Eine 2 im Binärsystem oder eine 9 im Oktalsystem ist ein Fehler.
  • Ein Vorzeichen (- oder +) wird nur ganz am Anfang erkannt, nie nach einem Präfix.
  • Die Bitanzahl ist die Länge des Betrags in Binärschreibweise; null zählt als ein Bit.

Beispiele

Eingabe Basis Binär Hex Dezimal
255 10 11111111 ff 255
0xff Automatisch 11111111 ff 255
-0b101 Automatisch -101 -5 -5
18446744073709551617 10 1, dreiundsechzig Nullen, 1 10000000000000001 18446744073709551617

2^64+1 verliert als gewöhnliche JavaScript-Zahl seine letzte Ziffer, hier kommt es hexadezimal aber exakt als 10000000000000001 heraus.

Hinweise

  • Oktal ist das System von chmod 755, hexadezimal das von Adressen und Farben wie #1e90ff, und Basis 36 ist eine kompakte Schreibweise für kurze IDs.
  • Rutscht ein Zeichen hinein, das keine Ziffer ist, etwa ein Buchstabe im Dezimalsystem oder ein Umlaut, nennt die Fehlermeldung seine Position.

Häufige Fragen

Werden sehr große Zahlen exakt umgerechnet?

Ja. Gewöhnliche JavaScript-Zahlen sind nur bis 2^53 exakt, dieses Tool rechnet aber mit Ganzzahlen beliebiger Genauigkeit (BigInt). Werte über 2^64 werden daher ohne eine einzige falsche Ziffer umgerechnet. Die Eingabe darf bis zu 20.000 Zeichen lang sein.

Wie werden negative Zahlen dargestellt?

Das Vorzeichen bleibt erhalten, und der Betrag wird umgerechnet, -255 ist also hexadezimal -ff. Es handelt sich nicht um ein Bitmuster im Zweierkomplement. Wenn Sie eines für eine feste Breite wie 8 Bit brauchen, interpretieren Sie das Ergebnis selbst.

Kann ich die Präfixe 0x oder 0b eingeben?

Steht die Eingabebasis auf „Automatisch“, werden die Präfixe 0x (hexadezimal), 0b (binär) und 0o (oktal) erkannt, alles ohne Präfix gilt als dezimal. Wählen Sie die Basis selbst, wird nur das passende Präfix akzeptiert. In Basis 16 ist der Text 0b1 also die Ziffernfolge 0, b, 1 und kein Präfix.

Was ist mit Nachkommastellen?

Es werden nur ganze Zahlen unterstützt. Ein Dezimalpunkt oder Komma wird als ungültiges Zeichen mit seiner Position gemeldet.

Fehlt ein Tool?