Das Dualsystem (lat. dualis = zwei enthaltend), auch Binärsystem oder Zweiersystem genannt, ist das bekannteste und meistverbreitete Zahlensystem, welches zwei Ziffern zur Darstellung von Zahlen benutzt. Der Begriff bezeichnet das Stellenwertsystem mit der Basis 2, also die dyadische (2-adische) Darstellung von Zahlen (Dyadik). Die zwei Ziffern des Dualsystems mit den Werten Null und Eins werden oft mit den Symbolen 0 und 1 dargestellt. In älterer Literatur mit Bezug auf elektronische Datenverarbeitung werden manchmal die Symbole Low (L) und High (H) verwendet. Hierbei steht dann meistens Low für den Wert Null und High für den Wert Eins. Diese Zuordnung nennt sich positive Logik, bei negativer Logik werden die Werte andersherum zugeordnet.
Die Zahlen, die durch das Dualsystem dargestellt werden, heißen Dualzahlen oder Binärzahlen, wobei letzteres auch einfach für binärcodierte Zahlen stehen kann. Die Darstellungsweise einer Zahl ist durch den Begriff Binärzahl, bis auf die Anzahl der verwendeten Ziffernsymbole (zwei), also nicht näher spezifiziert. Aufgrund seiner Anwendung in der Digitaltechnik ist das Dualsystem neben dem gewöhnlich benutzten Dezimalsystem das wichtigste Stellenwertsystem.
Definition und Darstellung
Eine Dualzahl wird durch die Ziffern zi dargestellt. Die Ziffern werden wie im gewöhnlich verwendeten Dezimalsystem ohne Trennzeichen hintereinander geschrieben, ihr Stellenwert entspricht allerdings der zur Stelle passenden Zweierpotenz und nicht der Zehnerpotenz.
Es wird also die höchstwertige Stelle mit dem Wert zm ganz links und die niederwertigeren Stellen mit den Werten zm-1 bis z0 in absteigender Reihenfolge rechts davon aufgeschrieben. Zur Darstellung von rationalen oder reellen Zahlen folgen dann nach einem trennenden Komma die Stellen z -1 bis z -n, die den gebrochenen Anteil der Zahl darstellen:
Der Wert Z der Dualzahl ergibt sich durch Addition dieser Ziffern, welche vorher jeweils mit ihrem Stellenwert 2i multipliziert werden:
- .
Beispiel
Die Ziffernfolge 1101 zum Beispiel, stellt nicht (wie im Dezimalsystem) die Tausendeinhundertundeins dar, sondern die Dreizehn, denn im Dualsystem berechnet sich der Wert durch
und nicht wie im Dezimalsystem durch
- .
Die Klammerung der Resultate mit der tiefgestellten 2 beziehungsweise der 10 gibt die Basis des verwendeten Stellenwertsystems an. So kann leicht erkannt werden, ob die Zahl im Dual- oder im Dezimalsystem dargestellt ist. In der Literatur werden die eckigen Klammern oft weggelassen und die Tiefergestellte Zahl wird dann manchmal in runde Klammern gesetzt. Ebenfalls möglich ist die Kennzeichnung durch den nachgestellten Großbuchstaben B (für binär).
Anwendung
Die Dyadik (dyo, griech. = Zwei), also die Darstellung von Zahlen im Dualsystem wurde schon Ende des 17. Jahrhunderts von Leibniz entwickelt. Er sah darin ein so überzeugendes Sinnbild des christlichen Glaubens, dass er damit den chinesischen Kaiser Kangxi überzeugen wollte. Dazu schrieb er an den französischen Jesuitenpater Bouvet, der als Missionar in China tätig war:
- "Zu Beginn des ersten Tages war die 1, das heißt Gott. Zu Beginn des zweiten Tages die 2, denn Himmel und Erde wurden während des ersten geschaffen. Schließlich zu Beginn des siebenten Tages war schon alles da; deshalb ist der letzte Tag der vollkommenste und der Sabbat, denn an ihm ist alles geschaffen und erfüllt, und deshalb schreibt sich die 7 111, also ohne Null. Und nur wenn man die Zahlen bloß mit 0 und 1 schreibt, erkennt man die Vollkommenheit des siebenten Tages, der als heilig gilt, und von dem noch bemerkenswert ist, daß seine Charaktere einen Bezug zur Dreifaltigkeit haben."
Da die feinmechanischen Fertigkeiten der damaligen Zeit nicht ausreichten, musste Leibniz beim Bau seiner Rechenmaschinen auf das Dezimalsystem zurückgreifen.
Bei der späteren Entwicklung von elektronischen Rechenmaschinen erlangte das Dualsystem allerdings große Bedeutung, denn in der Digitaltechnik werden Zahlen durch elektrische Zustände dargestellt. Bevorzugt werden zwei komplementäre Zustände wie Strom an/Strom aus oder Spannung/Masse verwendet, da auf diese Weise sehr fehlerresistente und einfache Schaltungen zu realisieren sind (siehe Binärcode). Diese zwei Zustände lassen sich dann als Ziffern benutzen. Das Dualsystem ist die unkomplizierteste Methode mit Zahlen zu rechnen, die durch diese zwei Ziffern dargestellt werden.
Dualzahlen finden in der elektronischen Datenverarbeitung bei der Darstellung von Festpunktzahlen oder ganzen Zahlen Verwendung. Negative Zahlen werden vor allem als 2-Komplement dargestellt, welches nur im positiven Bereich der Dualzahlendarstellung entspricht. Um näherungsweise rationale oder gar reelle Zahlen darzustellen, werden vorzugsweise Fließkommadarstellungen verwendet, bei der die Zahl normalisiert und in Mantisse und Exponent aufgeteilt wird. Diese beiden Werte werden dann in Form von Dualzahlen gespeichert.
Grundrechenarten im Dualsystem
Analog zu den Zahlen im Dezimalsystem lassen sich mit Dualzahlen die gängigen arithmetischen Grundoperation Addition, Subtraktion, Multiplikation und Division durchführen. Tatsächlich werden die benötigten Algorithmen sogar einfacher und lassen sich effizient mit logischen Schaltungen elektronisch realisieren. Die Einführung von Dualzahlen in der Rechentechnik brachte daher viele Vorteile.
|
| ||||||||
|
|
Schriftliche Multiplikation
Um Binärzahlen schriftlich mutliplizieren zu können, muss man mehrere Schritte durchführen, um ans Ziel zu gelangen.
Als Beispiel seien hier:
FaktorA = 00001100 FaktorB = 00001101 Ergebnis = 10011100 Merker = FaktorA
So gelangt man zum Ergebnis:
Man geht von links so lange zur nächsten Stelle von FaktorB, bis man auf die erste "1" trifft. Bei dieser angekommen, shiftet (verschiebt) man Merker um 1 nach links:
(Anmerkung: das Shiften ist mathematisch gleichzusetzen mit der Multiplikation mit/Division durch 2 (binär: 10), wobei nach links=Multiplikation und nach rechts=Division)
Merker = 00011000
Von nun an geht man wie folgt vor:
Ist die nächste Zahl eine "0", so wird Merker nur um 1 nach links geshiftet; ist die nächste Zahl jedoch eine "1", so addiert man zuerst FaktorA zu Merker und shiftet diesen DANACH um 1 nach links.
Für das Beispiel geht es also so weiter:
1: (Merker + FaktorA) linksshiften um 1 => Merker = 01001000 0: (Merker) linksshiften um 1 => Merker = 10010000
Wenn man bei der letzten Stelle angekommen ist, gilt jedoch eine weitere Ausnahme: Ist die letzte Stelle eine "1", so wird einfach nochmal FaktorA zu Merker hinzuaddiert, ansonsten ist die Multiplikation beendet:
1: (Merker + FaktorA) => Merker = 10011100
Nun hat man das endgültige Ergebnis: (Ergebnis = Merker).
Umrechnen von Dualzahlen in andere Stellenwertsysteme
Durch die kleine Basis ergibt sich der Nachteil, dass Zahlen im Verhältnis zu Dezimalzahlen relativ lang und schwer zu überschauen sind (siehe Tabelle unten). Dies hat zur Verbreitung des Hexadezimalsystems geführt, welches die Basis 16 besitzt. Da 16 eine Potenz von 2 ist, ist es besonders einfach möglich, Dualzahlen in Hexadezimalzahlen umzurechnen. Dazu werden je vier Stellen der Dualzahl durch eine Hexadezimalstelle ersetzt, was auch die Länge der dargestellten Zahlen um den Faktor vier verringert. Die Hexadezimalziffern mit dem Wert 0-15 werden in der Regel durch die Ziffernsymbole 0-9 und die Großbuchstaben A-F (für die Werte 10-15) dargestellt. Dadurch sind sie verhältnismäßig gut lesbar, so lässt sich zum Beispiel leicht feststellen, dass EDA5(16) größer ist als ED7A(16) wo hingegen sich die entsprechenden Dualzahlen 1110110110100101(2) und 1110110101111010(2) nicht so schnell überblicken lassen.
Dualsystem | 0000 | 0001 | 0010 | 0011 | 0100 | 0101 | 0110 | 0111 | 1000 | 1001 | 1010 | 1011 | 1100 | 1101 | 1110 | 1111 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Oktalsystem | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 |
Dezimalsystem | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
Hexadezimalsystem | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F |
Vom Dualsystem ins Dezimalsystem
Um eine Dualzahl in die entsprechende Dezimalzahl umzurechnen, werden alle Ziffern jeweils mit ihrem Stellenwert (entsprechende Zweierpotenz) multipliziert und dann addiert.
Beispiel:
1010(2) = 1 · 23 + 0 · 22 + 1 · 21 + 0 · 20 = 8 + 0 + 2 + 0 = 10(10).
Die Produkte, die durch eine Null als Stelle zustandegekommen sind, hätten nicht errechnet werden müssen, können aber zur besseren Übersicht notiert werden!
vom Dezimalsystem ins Dualsystem
Es gibt mehrere Möglichkeiten der Umrechnung ins Dualsystem. Im Folgenden ist die Divisionsmethode (auch Modulomethode genannt) am Beispiel 41(10) beschrieben:
41 : 2 = 20 Rest 1
20 : 2 = 10 Rest 0
10 : 2 = 5 Rest 0
5 : 2 = 2 Rest 1
2 : 2 = 1 Rest 0
1 : 2 = 0 Rest 1
Die entsprechende Dualzahl ergibt sich durch Notation der errechneten Reste von unten nach oben: 101001(2).