Bruchzahlen (Binär+Hexadezimal) in Dezimal umrechnen (Zahlensysteme)
Ich benötige für eine Prüfung Bruchzahlen in diversen Zahlensystemen, zum Beispiel Binär/Dual, Hexadezimal und Oktal. Hier möchte ich euch erklären, wie ihr diese ineinander umrechnet und dabei mit den Nachkommastellen umgeht. Ich zeige euch die Verfahren, die ich durch die Vorlesungen und Übungen von Prof. Spallek an der TU Dresden gelernt habe. Betrachten wir zunächst die Umwandlung von Nicht-Dezimal-Bruchzahlen zu Dezimal-Bruchzahlen, die geht meiner Meinung am leichtesten. In der Informatik spricht man auch von Festkommazahlen. Weitere Umformungen von Dezimal nach Binär/Hexadezimal erscheinen in einem separaten Artikel.
Sei
- B die Basis unseres Zahlensystems (Dezimal: B=10, Binär/Dual: B=2, Hexadezimal: B=16),
- ai der Koeffizient der jeweiligen ganzen Stelle (a Element aus {0, …, B-1}),
- bi der Koeffizient der jeweiligen gebrochenen Stelle (b Element aus {0, …, B-1}),
- n die Anzahl der Vorkomma-Stellen {n Element der natürlichen Zahlen} und
- m die Anzahl der Nachkomma-Stellen {m Element der natürlichen Zahlen ohne Null}.
Dann sieht eine Zahl wie folgt aus:
Stelle | n-1 | n-2 | … | 0 | (Komma) | -1 | -2 | … | -m |
---|---|---|---|---|---|---|---|---|---|
an-1*Bn – 1 | an-2*Bn – 2 | … | a0*B0 | , | b1*B– 1 | b2*B– 2 | … | bm*B– m |
Hexadezimale Zahl X16 = B36,98F16 zu Dezimal umrechnen
X16 = | B | 3 | 6 | , | 9 | 8 | F | ||||
X10 = | B16*16102 | + | 316*16101 | + | 616*16100 | + | 916*1610-1 | + | 816*1610-2 | + | F16*1610-3 |
X10 = | 1110*16102 | + | 310*16101 | + | 610*16100 | + | 910*1610-1 | + | 810*1610-2 | + | 1510*1610-3 |
X10 = | 9 * 1/16 | + | 8 * 1/(162) | + | 15 * 1/(163) | ||||||
X10 = | 2816 | + | 48 | + | 6 | + | 0,5625 | + | 0.03125 | + | 0.003662109375 |
X10 = | 2870.59741211 |
Das gleiche Prinzip funktioniert für jedes Zahlensystem, das ihr ins Dezimalsystem umrechnen wollt. Wichtig hierbei ist immer, dass ihr daran denkt die Koeffizienten vom Quell-Zahlensystem ins Ziel-Zahlensystem zu übertragen. Siehe hierfür in die Tabelle, in der zum Beispiel aus einem 0xF eine 15 wird. (0x ist die Schreibweise der Informatiker für Hexadezimale Zahlen. Ist nichts anderes als F16.)
Binäre Zahl X2 = 1101,010112 zu Dezimal umrechnen
X2 = | 1 | 1 | 0 | 1 | , | 0 | 1 | 0 | 1 | 1 | |||||||
X10 = | 12*2103 | + | 12*2102 | + | 02*2101 | + | 12*2100 | + | 02*210-1 | + | 12*210-2 | + | 02*210-3 | + | 12*210-4 | + | 12*210-5 |
X10 = | 8 | + | 4 | + | 0 | + | 1 | + | 0,0 | + | 0.25 | + | 0,0 | + | 0.0625 | + | 0.03125 |
X10 = | 13.34375 |
PS: Man findet bei Google unter den ersten Suchtreffern nicht wirklich etwas, das hilft. Daher versuche ich euch zu helfen.
0 Comments