Dualzahlen (Binärzahlen, Zweiersystem)
Zunächst mal die Info zum
Aufbau einer Dualzahl:
Unser Dezimalsystem hat die Stellenwerte Einer, Zehner, Hunderter, ... Jede Zahl läßt sich als Vielfaches dieser Zehnerpotenzen darstellen:
256 |
= 2 • 100 + 5 • 10 + 6 • 1 |
|
= 2 • 102 + 5 • 101 + 6• 100 |
Ganz genauso funktioniert das Zweiersystem: die Stellenwerte sind hier die Potenzen der Zahl 2. Die Ziffern werden mit
L und
0 bezeichnet, um eine Verwechslung mit 1 und 0 auszuschließen:
L0L |
= L • 4 + 0 • 2 + L• 1 |
|
= L • 22 + 0 • 21 + L • 20 |
Die Dualzahl
L0L ergibt also die Dezimalzahl 4+0+1=
5.
Auch über das
Dividieren durch Zehner- bzw. Zweierpotenzen solltest du informiert sein:
Dividiert man eine Dezimalzahl durch 10, das Ergebnis wieder durch 10 usw., dann ergeben die Divisionsreste die Zahl rückwärts, d.h. beginnend mit Einern, dann Zehnern, ... :
Erklärung:
- Dividiert man 256 durch 10, so muss man den Einerrest erhalten, da 250 ein Vielfaches von 10 ist. Der Quotient 256:10 muss also den Rest 6 haben.
- Dividiert man 25 durch 10, so muss man den Zehnerrest erhalten, da 20 ein Vielfaches von 10 ist. Der Quotient 25:10 muss also den Rest 5 haben.
- Dividiert man 2 durch 10, so muss man den Hunderterrest erhalten, da 2 ein Vielfaches (das Nullfache) von 10 ist. Der Quotient 2:10 muss also den Rest 2 haben.
Um die Reste zu sehen kann man das auch wie folgt darstellen:
256 |
= [2•100 + 5•10] + 6 |
|
=[(2•10 + 5)•10] + 6 |
Dividiert man nun eine Dezimalzahl durch 2, das Ergebnis wieder durch 2, ... so erhält man die binäre Darstellung dieser Zahl beginnend mit 2
0, 2
1, 2
2, ...
Führe dies mal am Beispiel 84 durch, dein Ergebnis ist dann:
84 = L0L0L00
Dieser Sachverhalt ist gut verwendbar, wenn man ein Programm (in welcher Programmiersprache auch immer) schreiben will, das Dualzahlen aus Dezimalzahlen erzeugt.
Genauso wie das Binärsystem funktionieren auch alle anderen Zahlensystem: Im Hexedezimalsystem wird die Zahl 16 als Basis benutzt, im Oktalsystem die Zahl 8,....
Rechnen mit Dualzahlen: Addition und Subtraktion
Sehen wir uns eine Addition genauer an (29+7=36):
Nicht anders führt man die Addition von mehreren Dualzahlen durch. Auch die Subtraktion läuft genauso über's "Ergänzen", wie uns aus dem Dezimalsystem bekannt ist:
KOMMAZAHLEN im Binärsystem
Auch hier läuft's nicht anders als bei den Dezimalzahlen: Wir sehen uns einfach mal die Stellenwerte in beiden Systemen an:
In unserem Dezimalsystem sind die Stellenwerte nach dem Komma also ein Zehntel, ein Hundertstel, ....(Zehnerpotenzen mit negativen Hochzahlen), im Binärsystem entsprechen sie ebenfalls den Zweierpotenzen mit negativen Hochzahlen, nämlich ein Halb, ein Viertel, ein Achtel, ....
Divisionen, die Kommazahlen ergeben:
Zur Erinnerung das schriftliche Dividieren im Dezimalsystem:
Die neun Zehner werden durch 4 geteilt und man erhält 2 Zehner als Ergebnis, einer bleibt übrig, der zusammen mit den Einern 17 ergibt. Diese siebzehn Einer werden ebenfalls durch 4 geteitl und man erhält 4 Einer, ein Einer bleibt übrig. Dieser wird in Zehntel verwandelt (beim Ergebnis wird daher jetzt das Komma gesetzt), man hat also 10 Zehntel, die nun durch 4 geteilt werden. Dies ergibt 2 Zehntel und 2 Zehntel bleiben übrig, die nun in 20 Hundertstel verwandelt werden. Diese werden wiederum durch vier geteilt und man erhält 5 Hundertstel als Ergebnis.
Dividiere nun im Binärsystem LLL durch L0 unter Benutzung des obigen Rechenschemas: (Durch Umrechnung in Dezimalzahlen kannst Du dann Dein Ergebnis selbst kontrollieren.)
Nun noch 2 Umrechnungen: