0 Daumen
1,6k Aufrufe


1. Einführung

Es gibt einen einfachen Algorithmus, mit dem man Binärzahlen direkt in Hexadezimalzahlen umrechnen kann ohne den Umweg über das Dezimalsystem zu gehen. Dies spart bei der Umwandlung sehr viel Rechenaufwand (insbesondere für Binärzahlen mit vielen Stellen).

2. Der Algorithmus

Um die Umwandlung vornehmen zu können, benötigst du eine Übersetzungstabelle, die alle Hexadezimalziffern mit ihren Darstellungen im Binärsystem enthält. Da das Hexadezimalsystem ein Zahlensystem zur Basis \(g=16\) ist, gibt es die Ziffern \(0\) bis \(f\). Zur Erinnerung: Im Hexadezimalsystem fängt man bei \(0\) zu zählen an und wenn man die \(9\) erreicht hat, geht es mit Buchstaben \(a,b,c,d,e\) und \(f\) weiter. \(f\) entspricht dabei der höchsten Hexadezimalziffer, nämlich der \(15\). $$ \begin{array}{|c|c|}\hline \text{Hexadezimalzahl}&\text{Binärzahl} \\\hline 0&0000 \\\hline 1&0001 \\\hline 2&0010 \\\hline 3&0011 \\\hline 4&0100 \\\hline 5&0101 \\\hline 6&0110 \\\hline 7&0111 \\\hline 8&1000 \\\hline 9&1001 \\\hline a&1010 \\\hline b&1011 \\\hline c&1100 \\\hline d&1101 \\\hline e&1110 \\\hline f&1111 \\\hline \end{array} $$ Mit dieser Tabelle ist es nun möglich, den Algorithmus zu definieren und anschließend auch anzuwenden.

Algorithmus: Binärzahlen in Hexadezimalzahl umrechnen

Eingabe: Binärzahl \(b\)

Ausgabe: \(b\) im Hexadezimalsystem

1. Bilde (von rechts beginnend) Viererpakete. Wenn die Anzahl der Stellen der Binärzahl nicht ohne Rest durch \(4\) teilbar ist, fülle das vorderste Paket so lange mit führenden Nullen auf, bis es sich um ein Viererpaket handelt.

2. Wandle die Viererpakete mithilfe der Übersetzungstabelle in Hexadezimalziffern um.

3. Schreibe die übersetzten Hexadezimalziffern in der Reihenfolge der Viererpakete hintereinander.

3. Beispiel

Die Binärzahl $$1011111011101111$$ soll ins Hexadezimalsystem übersetzt werden. Zuerst werden von rechts aus Viererpakete gebildet: $$1011|1110|1110|1111$$ Diese Pakete werden nun mithilfe der
Übersetzungstabelle in Hexadezimalziffern übersetzt. $$b|e|e|f$$ Die Binärzahl \(1011111011101111\) lautet im Hexadezimalsystem also \(beef\).

Ein weiteres Beispiel: die Binärzahl $$1011101010101$$ soll ins Hexadezimalsystem übersetzt werden. Bilde zuerst wieder Viererpakete: $$1|0111|0101|0101$$ Offensichtlich ist die Anzahl der Stellen in
der Binärzahl nicht ohne Rest durch \(4\) teilbar, da es insgesamt \(13\) Stellen sind. Du musst also das vorderste Viererpaket (ganz links) mit führenden Nullen auffüllen. Führende Nullen ändern
schließlich den Wert der Zahl nicht. Du benötigst insgesamt drei Nullen: $$0001|0111|0101|0101$$ Nun kannst du die einzelnen Viererpakete mithilfe der Übersetzungstabelle in Hexadezimalziffern
umwandeln. $$1|7|5|5$$ Die Binärzahl \(1011101010101\) lautet im Hexadezimalsystem also \(1755\).

Autor: Florian André Dalwigk

Dieser Artikel hat 50 Bonuspunkte erhalten. Schreib auch du einen Artikel.
geschlossen: Mathe-Artikel
von Unknown
Avatar von

Kleines Update: Ich habe einen Online-Rechner gebaut, mit dem du jede Binärzahl direkt in eine Hexadezimalzahl (mit ausführlicher Schritt-für-Schritt-Anleitung) umwandeln kannst: https://www.letsrockinformatik.de/bin%C3%A4r-in-hexadezimal-rechner/

Ebenso kann man vom Zweier- ins Achtersystem und zurück umwandeln. Man muss nur Dreier-Gruppen nehmen.

Dazu mache ich noch ein Video/Artikel ... erstmal die "Spezialfälle", dann das allgemeine Konzept ;)

Ein anderes Problem?

Stell deine Frage

Willkommen bei der Mathelounge! Stell deine Frage einfach und kostenlos

x
Made by a lovely community