Gebrochene Dezimalzahl in Binärzahl umrechnen (Zahlensysteme umrechnen)

Published by Philipp Schuster on

Im letzten Beitrag habe ich euch gezeigt, wie ihr eine gebrochene (“Festkomma”) Zahl aus dem Hexadezimalen ins Dezimale umwandelt. Jetzt zeige ich euch die andere Richtung. Da es unendlich nervig ist das alles in HTML abzubilden, habe ich es diesmal auf klassisches Papier gemalt und fotografiert, um euch das Vorgehen visualisieren zu können.

Grundsätzlich geht ihr wie folgt vor. Ihr müsst den ganzen Teil der Dezimalzahl und den Nachkomma-Teil getrennt betrachten. Nehmen wir als Beispiel die gebrochene Dezimalzahl 527,371 die wir ins Binäre übersetzen wollen. Dann müssen wir zunächst für 527 “den ggT von 2 und 527” mithilfe des euklidischen Algorithmus bestimmen. Es kommt dabei auf die Reste jeder Zeile an, siehe folgendes Foto auf der linken Seite. (2, da es die Basis des Binären/Dualen Zahlensystems ist.) Für den gebrochenen Teil (0,371) multiplizieren wir diesen jeweils mit der Basis und merken uns anschließend den ganzen Anteil des Produkts. Im Folgenden wird dann wieder nur der Nachkomma-Teil mit der Basis multipliziert. Das macht man so lange, bis der gebrochene Teil 0 ist oder die gewünschte Genauigkeit erreicht. Es kann auch passieren, dass man einen Nachkomma-Bereich von einem Zahlensystem in ein anderes niemals genau abbilden kann. Das scheint zum Beispiel in dem von mir gewählten Beispiel der Fall zu sein, da nur noch Einsen folgen. Wie das mit dem Nachkommabereich genau funktioniert sehr ihr visuell aufbereitet im folgenden Bild auf der rechten Seite:

Gebrochene Dezimalzahl in Binärzahl umrechnen

Gebrochene Dezimalzahl in Binärzahl umrechnen

Damit ist 527,37110 rund 0b1000001111,01011. “0b” ist die Notation der Informatiker, das Gleiche wie 1000001111,010112.

Für Hexadezimal geht das Ganze genau so, lediglich teilt ihr im ersten Teilschritt nicht durch 2, sondern 16, die Basis des Hexadezimalen-Zahlensystems. Im zweiten Schritt multipliziert ihr dann mit 16 statt mit 2. Denkt dran die Zwischenergebnisse entsprechend ins Hexadezimale zu übersetzen! Zum Beispiel 16010:1610 = 1010 = A16.


Philipp Schuster

Hi, I'm Philipp and interested in Computer Science. I especially like low level development, making ugly things nice, and de-mystify "low level magic".

0 Comments

Leave a Reply

Your email address will not be published. Required fields are marked *