HandyTools Hub

Zahlenbasis-Konverter

Konvertieren Sie zwischen binären, oktalen, dezimalen und hexadezimalen Zahlensystemen.

Eingabe

Ergebnisse

So funktioniert die Basisumrechnung

Jedes Zahlensystem ist positionell: Der Wert einer Ziffer hängt davon ab, wo sie steht. Der ganzzahlige Teil einer Zahl ist die Summe jeder Ziffer multipliziert mit der Basis hoch ihrer Position, gezählt von null ganz rechts. Zum Umrechnen parst das Tool die bereinigte Eingabe in eine JavaScript-Zahl und kodiert sie in der Zielbasis neu. Brüche werden getrennt behandelt. Jede Bruchziffer ist diesen Ziffernwert geteilt durch die Basis hoch ihrer Position wert, und um das Ergebnis auszugeben, multipliziert das Tool den Bruch wiederholt mit der Zielbasis, nimmt den ganzzahligen Teil als nächste Ziffer und behält den Rest. Diese wiederholte Multiplikation ist der Grund, warum nicht abbrechende Brüche abgeschnitten werden.

Vor all dem wird die Eingabe bereinigt: Unterstriche, Kommas und Leerzeichen werden entfernt, Buchstaben werden großgeschrieben. So können Sie gruppiertes Binär wie 1111_0000 oder formatiertes Dezimal wie 1,024 einfügen, ohne vorzuverarbeiten.

Praxisbeispiele

Einfache ganze Zahl. Dezimal 255 wird zu binär 11111111, oktal 377 und hex FF. Rückwärts gelesen: 255 ist 2^8 - 1, binär also acht Einsen, und hex nutzt zwei F-Ziffern mit je dem Wert 15.

Hex mit Buchstaben. Hex 1A4 wird zu dezimal 420. Prüfen: 1 × 256 + 10 × 16 + 4 = 420. Binär ist das 110100100 und oktal 644.

Ein Bruch, der sich wiederholt. Dezimal 0.1 wird zu binär 0.00011001, oktal 0.06314631 und hex 0.19999999. Alle drei sind abgeschnittene Näherungen eines Werts, der in diesen Basen keine exakte endliche Form hat.

Ein Binärbruch. Binär 1010.101 wird zu dezimal 10.62500000, oktal 12.5 und hex A.A. Der Bruchteil .101 ist 1/2 + 0/4 + 1/8 = 0,625.

Akzeptierte Eingaben und Präfixe

BasisZiffernPräfix für die Ausgabe
Binär (2)0-10b
Oktal (8)0-70o
Dezimal (10)0-9keines
Hexadezimal (16)0-9, A-F0x

Die Präfix-Schaltflächen fügen dem kopierten Ergebnis eine Dekoration hinzu. Sie gelten nur für die Ergebniszeile, deren Basis zur gewählten Eingabebasis passt. Wenn Sie beispielsweise einen hexadezimalen Wert eingeben und 0x wählen, wird nur die hexadezimale Zeile mit dem Präfix versehen; die binäre, oktale und dezimale Zeile bleiben schlicht. Wechseln Sie die Eingabebasis, wandert das Präfix mit, weil es immer an die Quellbasis gebunden und nicht global angewendet wird.

Genauigkeit und Grenzen

  • Brüche sind auf acht Ziffern begrenzt und werden abgeschnitten, nicht gerundet. Rechnen Sie bei jedem Wert, der sich in der Zielbasis wiederholt, mit einem kleinen Fehler.
  • Die Dezimalzeile füllt Brüche auf acht Stellen auf. 0.5 erscheint als 0.50000000; andere Basen entfernen nachfolgende Nullen.
  • Ganzzahlen sind auf den sicheren Bereich von JavaScript (2^53 - 1) begrenzt. Größere Werte können Ziffern verlieren.
  • Negative Zahlen werden abgelehnt. Das Minuszeichen ist keine gültige Ziffer.
  • Nur die Basen 2, 8, 10 und 16 stehen zur Verfügung. Basis 32, Basis 36 und beliebige Basen werden nicht unterstützt.
  • Die Ausgabe ist immer großgeschrieben. Klein geschriebene Hex-Eingabe wird akzeptiert, aber nie erzeugt.
  • Führende Nullen werden entfernt. 000255 konvertiert genauso wie 255.

Häufige Fehler

  • 10 im Binärsystem als zehn lesen. Es ist zwei; die Ziffernpositionen sind Zweierpotenzen.
  • Ein Präfix in die Eingabe tippen. 0x1F scheitert im Hex-Feld, weil x keine Hex-Ziffer ist; geben Sie 1F ein und nutzen Sie den Schalter.
  • Exakte Binärbrüche erwarten. Werte wie 0.1 sind nach acht Ziffern Näherungen.
  • Ein Komma als Dezimaltrennzeichen verwenden. Kommas werden als Gruppierung entfernt, 1,5 wird also als 15 gelesen, nicht als 1,5.
  • Annehmen, das Präfix gelte für jede Zeile. Es dekoriert nur die Zeile, die zur gewählten Eingabebasis passt.

Praxisnahe Szenarien

Web-Farbkanäle. Eine CSS-Hex-Farbe wie FF5733 sind drei Bytes in Basis 16. Konvertieren Sie jedes Paar einzeln, indem Sie FF, 57 und 33 mit der Basis hexadezimal eingeben: Sie werden zu dezimal 255, 87 und 51, genau das RGB-Tripel. Das Tool konvertiert den ganzen Wert, teilen Sie die sechsstellige Zeichenkette also zuerst in Paare.

Unix-Dateiberechtigungen. Berechtigungsmodi wie 755 werden oktal gelesen, nicht dezimal. Konvertieren Sie 755 aus Basis 8 und Sie erhalten binär 111101101, das sich als 111 (Lesen, Schreiben, Ausführen) für den Eigentümer, 101 für die Gruppe und 101 für andere gruppiert. Dezimal 493 ist derselbe Wert, weshalb ein Berechtigungsrechner für diese spezielle Aufgabe besser passt.

Bitmasken und Flags. Eine als binär 00001111 geschriebene Maske ist dezimal 15 und hex F. Das Umrechnen zwischen beiden erleichtert das Nachdenken darüber, welche Bits gesetzt sind.

Debugger-Adressen. Ein Absturzprotokoll kann die Adresse 0x7FFE0A10 zeigen. Konvertieren Sie sie von hex zu dezimal 2147352592 oder zu binär, wenn Sie einzelne Bits prüfen müssen.

Zwei Abkürzungen helfen, die Ausgabe des Tools schnell zu prüfen. Um von binär nach hex zu gelangen, gruppieren Sie die Bits von rechts in Vierergruppen und wandeln jede Gruppe um: 110100100 wird zu 1 | 1010 | 0100, also 1A4. Um von binär nach oktal zu gelangen, gruppieren Sie stattdessen in Dreiergruppen: 110 | 100 | 100 wird zu 644. Beide stimmen mit dem früheren Beispiel überein; wenn Ihre manuelle Gruppierung vom Konverter abweicht, prüfen Sie, wo Sie mit dem Gruppieren begonnen haben. Denken Sie daran, von rechts zu gruppieren, und füllen Sie die linke Gruppe nur dann mit Nullen auf, wenn Sie eine feste Breite benötigen.

Verwandte Tools

Häufig gestellte Fragen

Warum lässt sich 0.1 dezimal nicht als kurzer binärer Bruch darstellen?

Weil ein Zehntel in Basis zwei keine exakte Darstellung hat. Einen Bruch umzurechnen bedeutet, wiederholt mit der Zielbasis zu multiplizieren und die ganzzahligen Teile zu sammeln, und 0.1 erzeugt die endlose Wiederholung 0001100110011… Der Konverter stoppt nach acht Bruchziffern und schneidet ab, statt zu runden, die binäre Ausgabe ist also 0.00011001. Dieselbe Grenze führt dazu, dass 0.1 in hexadezimal als 0.19999999 erscheint. Bruchergebnisse sind Näherungen, keine exakten Werte.

Kann ich eine negative Zahl eingeben?

Nein. Das Minuszeichen ist in keiner der vier unterstützten Basen eine gültige Ziffer, ein Wert wie -5 wird daher mit einem Fehler wegen ungültiger Eingabe abgelehnt. Der Konverter verarbeitet nur Beträge. Wenn Sie Vorzeichen brauchen, entfernen Sie das Minus, konvertieren Sie den Betrag und setzen Sie das Vorzeichen in Ihrem eigenen Code wieder davor.

Akzeptiert das Eingabefeld Präfixe wie 0x, 0b oder 0o?

Nein. Die Präfix-Schaltflächen steuern, ob die kopierte Ausgabe für die Verwendung im Quellcode dekoriert wird; sie aktivieren keine Präfix-Erkennung bei der Eingabe. Wer 0x1F in ein hexadezimales Feld tippt, erhält einen Fehler, weil x keine Hex-Ziffer ist. Geben Sie nur die Ziffern ein und nutzen Sie den Schalter, um dem Ergebnis, das Sie kopieren, ein Präfix hinzuzufügen.

Warum zeigt die Dezimalzeile acht Stellen nach dem Dezimalpunkt?

Die Bruchumrechnung erzeugt acht Ziffern in der Zielbasis und behält in der Dezimalzeile speziell alle acht, statt nachfolgende Nullen zu entfernen. Ein einfacher Wert wie 0.5 erscheint daher als 0.50000000 und 10.625 als 10.62500000. In der binären, oktalen und hexadezimalen Zeile werden die nachfolgenden Nullen entfernt, die binäre Zeile zeigt für dieselbe Eingabe also 0.1.

Wie groß kann eine Zahl sein, die exakt umgerechnet wird?

Die Ganzzahlumrechnung läuft über JavaScript-Zahlen, Werte sind also nur bis 2^53 - 1 exakt, das ist 9.007.199.254.740.991. Darüber hinaus wird der Zwischenwert gerundet, und die in anderen Basen zurückgegebenen Ziffern passen möglicherweise nicht mehr zum Original. Für sehr große Ganzzahlen nutzen Sie eine Sprache mit Ganzzahlen beliebiger Genauigkeit oder eine dafür vorgesehene Big-Number-Bibliothek.

Warum wird meine hexadezimale Ausgabe in Großbuchstaben angezeigt?

Das Tool normalisiert Eingabe und Ausgabe für Konsistenz auf Großbuchstaben. Es entfernt außerdem Unterstriche, Kommas und Leerzeichen vor dem Parsen, sodass Sie einen gruppierten Wert wie 1111_0000 oder 1,024 einfügen können und er sauber konvertiert wird. Die Schreibweise beeinflusst den Wert nicht: ff und FF bedeuten beide 255.

Geprüft vom HandyTools-Hub-Team · Zuletzt aktualisiert