Zum Hauptinhalt springen
CalcMax

Binär-in-Hexadezimal-Umrechner

Ergebnis

B2

Hexadezimal

In Vierergruppen
1011 0010

Ein Binär-in-Hexadezimal-Umrechner schreibt eine Zahl vom Zweiersystem ins Sechzehnersystem um. Es ist die einfachste Umrechnung dieser Gruppe, denn gerechnet wird dabei nichts: Eine Hexadezimalziffer fasst genau vier Binärziffern, die ganze Arbeit besteht also darin, die Binärzahl von rechts zu gruppieren und jede Vierergruppe als eine einzige Ziffer zu lesen. 10110010 zerfällt in 1011 und 0010, das sind B und 2, die Antwort ist also B2. Dieses feste Verhältnis von vier zu eins ist überhaupt der Grund, warum es das Sechzehnersystem gibt — ein Byte hat acht Bit, also genau zwei Hexadezimalziffern, und eine Sechzehn-Bit-Adresse genau vier davon —, und es ist der Grund, warum Programmierer Maschinencode, Farbwerte und Speicheradressen in dieser Basis schreiben und nicht binär. Die Seite druckt die Gruppierung, die sie benutzt hat, unter die Antwort, denn die Gruppierung ist die Umrechnung. Geht die Ziffernzahl nicht in Vierergruppen auf, wird die linkeste Gruppe mit Nullen aufgefüllt, bis sie es tut: Aus 10110 wird 0001 0110, und das ist 16. Diese Nullen ändern den Wert nicht, nur die Gruppierung. Führende Nullen in der Eingabe werden ebenso übergangen und ändern nichts am Wert; gezeigt werden nur die vom Rechner hinzugefügten, weil sie die Gruppierung lesbar machen.

Alle sechzehn Vierergruppen und die Hexadezimalziffer, für die jede steht

NibbleHexzifferDezimal
000000
000111
001022
001133
010044
010155
011066
011177
100088
100199
1010A10
1011B11
1100C12
1101D13
1110E14
1111F15

Das ist die ganze Umrechnung, ausgeschrieben. Jede Vierergruppe, die es gibt, kommt genau einmal vor, es muss also im Augenblick der Benutzung nichts mehr hergeleitet werden — die Tabelle ist geschlossen, und wer sie einmal überflogen hat, kann jede Binärzahl in dieser Basis lesen, indem er sie in Vierergruppen schneidet und jedes Stück nachschlägt. Sie ist fest und nicht aus der Eingabe darüber abgeleitet, sie ändert sich also nicht, wenn sich die Zahl ändert, und sie ist kein Widerspruch, wenn die beiden einander zu widersprechen scheinen: Das Panel beantwortet, was eingetippt wurde, die Tabelle beantwortet die allgemeine Frage, welche sechzehn Gruppen es gibt. Liest man die mittlere Spalte nach unten, zählt sie lückenlos von 0 bis F, und das ist der Punkt — die Buchstaben sind kein Code, sondern die Fortsetzung der Ziffern hinter der Neun. Liest man die erste Spalte nach unten, zählt sie im Zweiersystem um genau denselben Betrag hoch, und das macht die Zuordnung mechanisch. Die Tabelle endet bei 1111, weil dort eine Hexadezimalziffer endet: Der nächste Wert braucht eine zweite Ziffer, und das ist die Umgruppierung, die die Seite darüber ohnehin schon vornimmt.

Formel

10110010 = 1011 0010 = B2

binary
Die umzuschreibende Zahl, im Zweiersystem geschrieben. An ihr ändert die Umrechnung nichts — derselbe Wert wird lediglich mit einem anderen Ziffernsatz geschrieben
nibble
Eine Gruppe aus vier Binärziffern. Sie ist die Einheit, in der diese Umrechnung arbeitet, und es gibt genau sechzehn mögliche Nibbles — genau deshalb ist die Basis sechzehn die Basis, die zum Dualsystem passt
0-9, A-F
Die sechzehn Hexadezimalziffern, je eine pro Nibble. Zehn davon sind die vertrauten Ziffern, die übrigen sechs sind die Buchstaben A bis F und stehen für zehn bis fünfzehn
padding
Nullen, die links an die erste Gruppe angehängt werden, wenn die Ziffernzahl kein Vielfaches von vier ist. Sie ändern die Gruppierung und nie den Wert, weshalb 10110 und 00010110 zwei Schreibweisen derselben Zahl sind
from the right
Die Richtung, in der geschnitten wird. Die Gruppen entstehen vom rechten Ende her, weil dort die Einerstelle liegt, genau wie man in einer Dezimalzahl die Tausender abtrennt
53 bits
Wie lang die Eingabe sein darf: dreiundfünfzig Binärstellen, was 9.007.199.254.740.991 entspricht und am anderen Ende vierzehn Hexadezimalziffern ergibt. Es ist die Breite, ab der eine Maschine benachbarte ganze Zahlen nicht mehr auseinanderhalten kann; eine längere Eingabe wird abgelehnt statt gerundet

Diese Umrechnung ist die, die man am häufigsten ausführt, ohne sie als Umrechnung wahrzunehmen. Ein Byte in einem Debugger lesen, einen Farbwert prüfen, eine Subnetzmaske ausrechnen, ein Hash-Präfix auflösen, einen Registerauszug eines Geräts deuten oder zwei Flags in einem Protokoll vergleichen — in allen diesen Fällen sind die Bits die Wahrheit und die Hexadezimalform die Gestalt, in der sie gedruckt werden, und das Hin und Her zwischen diesen beiden Ansichten ist in der hardwarenahen Arbeit eine Konstante. Die Richtung zählt in beiden Lesarten: Ein Datenblatt gibt ein Register als Hexadezimalwert an, und das Bit, das geprüft werden soll, findet man, indem man den Wert auseinandernimmt; ein Oszillogramm oder eine Aufgabe nach Bitmustern kommt dagegen binär an und muss in der Form hingeschrieben werden, die die Unterlagen verwenden. In der Schule begegnet sie einem als die Abkürzung, die lange Binärzahlen handhabbar macht: Eine Binärzahl mit sechzehn Stellen ist unlesbar, ihre vier Hexadezimalziffern sind es nicht, und wer weiß, dass das Verhältnis vier zu eins lautet statt erst ausgerechnet werden zu müssen, nimmt dem Ganzen die Arithmetik. Die Seite druckt die Gruppierung, damit die Abkürzung sichtbar wird statt behauptet zu werden, und genau das macht sie ebenso brauchbar als Kontrolle einer Handrechnung wie als Ersatz für eine.

Rechenbeispiele

  1. 10110010 umschreiben

    1. Den String von rechts in Vierergruppen schneiden: 1011 und 0010
    2. Die erste Gruppe lesen: 1011 ist 8 + 2 + 1 = 11, also B
    3. Die zweite Gruppe lesen: 0010 ist 2, also 2
    4. Beide Ziffern zusammen ergeben B2

    Der Standardfall, und zugleich ein Byte, die Gruppierung geht also auf. B2 ist die Form, in der dieser Wert in einem Debugger oder einem Datenblatt stünde — die acht Bits stecken weiterhin darunter, weshalb die Gruppierung neben der Antwort gedruckt wird und nicht stillschweigend vorausgesetzt.

  2. Ein einzelnes Nibble, 1111

    1. Vier Ziffern sind bereits genau eine Gruppe
    2. 1111 ist 8 + 4 + 2 + 1 = 15
    3. Fünfzehn schreibt man im Sechzehnersystem als F
    4. Die Antwort ist eine einzige Ziffer, nämlich F

    Das größte Nibble, und das, das zeigt, warum die Buchstaben dort enden, wo sie enden: Fünfzehn ist der höchste Wert, den vier Bit fassen können, F ist also die letzte Ziffer der Basis. Breiter lässt sich mit einer Hexadezimalziffer nichts schreiben, und genau diese Eigenschaft wird hier ausgenutzt.

  3. Eine kurze Eingabe auffüllen, 10110

    1. Fünf Ziffern gehen nicht in Vierergruppen auf, also von rechts anfangen: 0110 ist eine volle Gruppe
    2. Links bleibt eine Ziffer übrig, die wird auf vier Stellen aufgefüllt: 0001
    3. 0001 ist 1 und 0110 ist 6, das ergibt die beiden Ziffern 16
    4. Angezeigt wird die Gruppierung 0001 0110, die zwei Stellen länger ist als die Eingabe

    Der Fall, der wie ein Fehler aussieht und keiner ist. Die ausgegebene Gruppierung ist länger als die Eingabe, weil eine Hexadezimalziffer vier Bit breit ist und die letzte Gruppe auf diese Breite aufgefüllt werden muss. 10110 und 00010110 sind dieselbe Zahl, und das Auffüllen ist es, was die zweite Ziffer überhaupt lesbar macht — ohne die Nullen hätte die übrig gebliebene einzelne Ziffer keine Ziffer, die sie sein könnte.

  4. Ein negativer Wert, -10110

    1. Das Minuszeichen steht außerhalb der Zahl, also beiseitelegen und 10110 umrechnen
    2. 10110 wird zu 0001 0110, das liest sich als 16
    3. Das Vorzeichen vor beide Lesarten setzen: -16

    Das Vorzeichen bleibt in beiden Ausgaben außerhalb der Ziffern. Es hineinzurechnen würde eine feste Breite erfordern, in die man es hineinrechnen könnte, und die gibt es hier nicht — ein Prozessor, der diesen Wert in acht Bit ablegt, schriebe ein Muster aus Einsen und Nullen, das ganz davon abhängt, dass die Breite acht beträgt. Die Hexadezimalfassung behält das Vorzeichen aus demselben Grund wie die Binärfassung.

Einschränkungen

Diese Seite schreibt nur ganze Binärzahlen um. Es gibt keinen Binärpunkt, eine Eingabe mit Nachkommastellen wird also abgelehnt statt umgerechnet, und ein Hexadezimalbruch entsteht nicht. Die Eingabe darf höchstens dreiundfünfzig Binärstellen lang sein, was 9.007.199.254.740.991 und am anderen Ende vierzehn Hexadezimalziffern ergibt; längere Werte lassen sich von einer Maschine nicht mehr genau halten und werden abgelehnt statt angenähert. Führende Nullen in der Eingabe werden angenommen und übergangen, die durch die Gruppierung hinzugefügten Nullen dagegen absichtlich angezeigt — eine aufgefüllte Ausgabe ist mit Absicht breiter als ihre Eingabe, das ist kein Fehler. Ein vorangestelltes Minuszeichen wird angenommen und in beide Ausgaben übernommen. Es geht nur um ganze Zahlen, die Seite liest also um und rechnet nicht: Addieren, Subtrahieren, Multiplizieren und Dividieren in beiden Basen steht auf den unten verlinkten Rechnerseiten, und der umgekehrte Weg vom Sechzehnersystem zurück ins Zweiersystem steht auf einer eigenen Seite.

Häufige Fragen

Warum ist die Ausgabe länger als das, was ich eingetippt habe?
Weil eine Hexadezimalziffer genau vier Bit breit ist und die linkeste Gruppe auf diese Breite aufgefüllt werden muss. Eine fünfstellige Eingabe wie 10110 ist eine volle Gruppe (0110) plus eine übrig gebliebene Ziffer, und die übrig gebliebene wird links zu 0001 aufgefüllt. Die Nullen ändern den Wert nicht — 10110 und 00010110 sind dieselbe Zahl —, und das Auffüllen ist es, was der letzten Gruppe eine Ziffer gibt, die sie sein kann. Ohne es hätte die einzelne übrig gebliebene Ziffer nichts, worauf sie in der Tabelle zeigen könnte.
Steckt in dieser Umrechnung irgendeine Arithmetik?
Nein, und das ist das Interessante daran. Weil sechzehn eine Zweierpotenz ist, fällt die Grenze zwischen den Basen genau alle vier Binärziffern, die Umrechnung ist also eine Umgruppierung und keine Rechnung. Es wird nichts multipliziert, nichts addiert und nichts übertragen; die Ziffern werden in Vierergruppen geschnitten und jede Gruppe wird nachgeschlagen. Das ist der Grund, warum man das Sechzehnersystem benutzt und nicht irgendeine andere kompakte Schreibweise, und es ist der Grund, warum die Gruppierung neben der Antwort gedruckt wird: Die Gruppierung ist das Verfahren, gezeigt statt beschrieben.
Warum entspricht eine Hexziffer vier Bit und nicht drei oder fünf?
Weil vier Bit genau sechzehn verschiedene Werte halten können und eine Hexadezimalziffer genau sechzehn verschiedene Zeichen hat. Drei Bit ergäben nur acht Werte, weshalb das Achtsystem mit drei zusammengeht, und fünf Bit ergäben zweiunddreißig, was keine gängige Basis verwendet. Das Verhältnis muss genau aufgehen, damit die Umgruppierung ohne jeden Übertrag funktioniert, und das leisten nur Zweierpotenzen. Aus demselben Grund ist ein Byte mit seinen acht Bit immer genau zwei Hexadezimalziffern.
Welche ist die längste Binärzahl, die ich umrechnen kann?
Dreiundfünfzig Stellen, was dezimal 9.007.199.254.740.991 und nach der Umrechnung vierzehn Hexadezimalziffern entspricht. Die Grenze ist eine Eigenschaft davon, wie Maschinen Zahlen genau halten, und keine Regel, die diese Seite gewählt hätte: Oberhalb dieser Breite lassen sich benachbarte ganze Zahlen nicht mehr unterscheiden, eine längere Eingabe ließe sich also nicht getreu umrechnen. Sie wird mit einer Meldung abgelehnt statt gerundet, und das ist wichtig, weil eine gerundete Antwort hier wie ein völlig gewöhnlicher Hexadezimalwert aussähe.
Kann ich eine Binärzahl mit Nachkommastellen umrechnen?
Auf dieser Seite nicht. Ein Binärpunkt wird nicht angenommen und ein Hexadezimalbruch nicht erzeugt, weil eine Umrechnung mit Nachkommastellen eine zusätzliche Entscheidung darüber bräuchte, wie viele Stellen man behält und wie man die letzte rundet. Jede Seite dieser Gruppe arbeitet mit ganzen Zahlen, dieselbe Eingabe wird also nie an der einen Stelle angenommen und an der anderen abgelehnt. Innerhalb dieser Grenze ist die Umrechnung exakt: Jede ganze Binärzahl bis zur Längengrenze ergibt genau einen Hexadezimalwert, ganz ohne Rundung.
Spielt die Groß- und Kleinschreibung in der Antwort eine Rolle?
Die Antwort wird immer in Großbuchstaben gedruckt — B2 und nicht b2 —, aber beides ist derselbe Wert und beides wird überall verstanden. Dokumentationen, Disassembler und Datenblätter benutzen fast immer Großbuchstaben, Farbwerte in CSS schreibt man dagegen üblicherweise klein, wer aus der einen oder der anderen Richtung kommt, erkennt also wieder, was er sieht. Diese Seite druckt Großbuchstaben, um innerhalb der Gruppe einheitlich zu bleiben und weil das die Konvention in dem Material ist, mit dem sie üblicherweise zusammen benutzt wird.

Quellen

Verwandte Rechner