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
- Geben Sie eine Zahl ein. Leerzeichen und
_werden als Zifferntrenner ignoriert,1111_0000ist also in Ordnung. - Wählen Sie die Eingabebasis. Die Voreinstellung „Automatisch“ sucht nach einem Präfix
0x,0boder0ound nimmt sonst das Dezimalsystem an. - Kopieren Sie den benötigten Wert aus der Ergebnistabelle. Die Zeile für die eigene Basis akzeptiert jede Basis von 2 bis 36.
- Aktivieren Sie Großbuchstaben, wenn Ihnen
FFlieber ist alsff.
So funktioniert es
- Das Einlesen erfolgt mit
BigInt. Jedes Zeichen wird von links nach rechts gelesen und alsvalue = value × base + digitaufsummiert. 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
2im Binärsystem oder eine9im 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.