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.