„Dualsystem“ – Versionsunterschied
[ungesichtete Version] | [ungesichtete Version] |
Kku (Diskussion | Beiträge) K Änderungen von Benutzer:195.37.69.142 rückgängig gemacht und letzte Version von Benutzer:Peter.Stadler wiederhergestellt |
Mnh (Diskussion | Beiträge) K →vom Dezimalsystem ins Dualsystem: unformatierte Tabelle in TeX umgewandelt. |
||
Zeile 354: | Zeile 354: | ||
Es gibt mehrere Möglichkeiten der Umrechnung ins Dualsystem. Im Folgenden ist die Divisionsmethode (auch [[Modulo (Rest)|Modulo]]methode genannt) am Beispiel '''41<sub>(10)</sub>''' beschrieben: |
Es gibt mehrere Möglichkeiten der Umrechnung ins Dualsystem. Im Folgenden ist die Divisionsmethode (auch [[Modulo (Rest)|Modulo]]methode genannt) am Beispiel '''41<sub>(10)</sub>''' beschrieben: |
||
:<math>\left.\begin{matrix} |
|||
41 : 2 = 20 Rest 1<br> |
|||
41 &: 2 &=& 20 &\mathrm{ Rest }\ \ \mathbf{1}\\ |
|||
20 &: 2 &=& 10 &\mathrm{ Rest }\ \ \mathbf{0}\\ |
|||
10 &: 2 &=& 5 &\mathrm{ Rest }\ \ \mathbf{0}\\ |
|||
5 &: 2 &=& 2 &\mathrm{ Rest }\ \ \mathbf{1}\\ |
|||
2 &: 2 &=& 1 &\mathrm{ Rest }\ \ \mathbf{0}\\ |
|||
1 &: 2 &=& 0 &\mathrm{ Rest }\ \ \mathbf{1} |
|||
\end{matrix}\ \right\uparrow</math> |
|||
Die entsprechende Dualzahl ergibt sich durch Notation der errechneten Reste von unten nach oben: '''101001<sub>(2)</sub>'''. |
Die entsprechende Dualzahl ergibt sich durch Notation der errechneten Reste von unten nach oben: '''101001<sub>(2)</sub>'''. |
Version vom 4. Februar 2006, 22:29 Uhr
Das Dualsystem (lat. dualis = zwei enthaltend), auch Binärsystem oder Zweiersystem genannt, ist ein Zahlensystem, welches nur zwei Ziffern zur Darstellung von Zahlen benutzt. Es wurde von Gottfried Wilhelm Leibniz erfunden und erlebte mit dem Entwicklung der Digitaltechnik eine starke Verbreitung. Auf Grund dessen ist es das bekannteste und wichtigste Zahlensystem neben dem gewöhnlich benutzten Dezimalsystem
Das Dualsystem ist ein Stellenwertsystem mit der Basis 2, also die dyadische (2-adische) Darstellung von Zahlen (Dyadik). Die zwei Ziffern mit den Werten Null und Eins werden oft mit den Symbolen 0 und 1 dargestellt. Alle Zahlen werden als Folge von 0 und 1 dargestellt. Die 8 (acht) im Zehnersystem entspricht beispielsweise der 1000 im Dualsystem.
In älterer Literatur mit Bezug zur elektronische Datenverarbeitung werden manchmal die Symbole Low (L) und High (H) anstelle von 0 und 1 verwendet. Low steht dann meist 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.
Das Dualsystem ist ein vollständiges Zahlensystem mit der geringstmöglichen Anzahl an verschiedenen Ziffern. Ein Zahlensystem mit nur einer Ziffer bleibt unvollständig. Der Nachteil des Zweiersystems sind die langen Zahlen.
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.
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 Festkommazahlen 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 Addition
0 | 0 | 0 | 0 | 0 | |
0 | 0 | 1 | 0 | 1 | |
0 | 1 | 0 | 0 | 1 | |
0 | 1 | 1 | 1 | 0 | |
1 | 0 | 0 | 0 | 1 | |
1 | 0 | 1 | 1 | 0 | |
1 | 1 | 0 | 1 | 0 | |
1 | 1 | 1 | 1 | 1 |
Die binäre Addition ist eine grundlegende Basisoperation in der Computerwelt. Will man zwei nichtnegative Binärzahlen und addieren, so geht man wie folgt vor:
Man arbeitet von rechts nach links alle Binärziffern (=Bits) von und simultan ab und erzeugt in jedem Zwischenschritt ein Ergebnisbit sowie ein Merkerbit (auch Übertrag genannt). Dabei werden die Bits entsprechend der Tabelle rechts zusammengezählt. A und B sind das jeweilige Bit aus A bzw. B. ist das Merkerbit des vorherigen Zwischenschrittes. Daraus ergibt sich (entsprechend dieser Tabelle) ein Ergebnisbit (E) und ein neues Merkerbit (). Alle Ergebnisbits werden von rechts nach links aneinandergereiht und ergeben so das Resultat. Entsteht beim letzten Zwischenschritt ein Merkerbit, so bekommt das Resultat links eine zusätzliche 1.
Am besten sieht man dies anhand eines Beispieles. Hierbei werden die Zahlen A und B zusammengezählt. In jedem Schritt wurde ein allfälliges Merkerbit bei der nächsten Ziffer notiert.
A = 10011010 (154) B = 00110110 (54) Merker = 11111 -------- Ergebnis = 11010000 (208) ========
Schriftliche Subtraktion
Die binäre (schriftliche) Subtraktion kann auf mindestens 2 Arten durchgeführt werden. Der Ansatz, der hier gezeigt werden wird, ist jedoch der, der für den Menschen wohl einfacher nachzuvollziehen ist. (Ein anderer Ansatz geht wie folgt: Wir bilden das Komplement des Subtrahenden und addieren dann den Minuenden zu diesem hinzu: 25-13 = -13+25)
Als Beispiel nehmen wir wieder:
Minuend = 10011010 (154) Subtrahend = 00110110 (54) Ergebnis = 01100100 (100) Merker = 00000000 (0)
(Dem anderen Ansatz nach würde man nun das Komplement (den Gegenwert) des Subtrahenden bilden (-54: 11001010) und diesem den Minuenden hinzuaddieren. Der Gegenwert selbst wird so gebildet: jede Stelle des Substrahenden wird mittels dem exklusiven Oder (xor) mit 1 verknüpft; dann wird 1 zum erhaltenen Ergebnis hinzuaddiert. Das exklusive Oder besagt: 0 xor 0 = 0; 0 xor 1 = 1; 1 xor 0 = 1; 1 xor 1 = 0. Bei diesem gesamten Ansatz ist jedoch darauf zu achten, dass die Länge der benutzten Binärzahlen beachtet werden muss, da es durchaus vorkommt, dass ein Zahlen-Überlauf stattfindet. Im Klartext heißt das: eigentlicht erhalten wir bei der Berechnung den Wert: 356 (101100100); da wir aber nur mit 8 Stellen gerechnet haben, ist die vorderste Stelle als Zahlenbereich-Überlauf zu ignorieren.)
So gelangt man zum Ergebnis:
Man geht von rechts so lange zur nächsten Stelle des Minuenden und Subtrahenden, bis die letzte "1" des Subtrahenden erreicht wird. Problematisch ist, dass man bei dieser Form der schriftlichen Subtraktion mit einem Übertrag arbeitet (ähnlich dem Übertrag in der normalen dezimalen schriftlichen Rechnung). Dieser ist bei jedem Schritt in die Rechnung mit einzubeziehen und gilt als weiterer Subtrahend.
Zur Rechnung geht man nun wie folgt vor (hier wird sich nur auf die aktuelle Position bezogen):
Ist der Minuend "1", Subtrahend UND Merker "0", so ist das Ergebnis gleich "1". Ist der Minuend "1", Subtrahend ODER Merker "1", so ist das Ergebnis gleich "0". War der Merker "1", so wird dieser nun auf "0" gesetzt. Ist der Minuend "1", Subtrahend UND Merker "1", so ist das Ergebnis gleich "1" und zusätzlich bleibt der Merker auf "1" gesetzt. Ist der Minuend "0", Subtrahend UND Merker "0", so ist das Ergebnis gleich "0". Ist der Minuend "0", Subtrahend ODER Merker "1", so ist das Ergebnis gleich "1" und zusätzlich wird der Merker auf "1" gesetzt. Ist der Minuend "0", Subtrahend UND Merker "1", so ist das Ergebnis gleich "0" und zusätzlich bleibt der Merker auf "1" gesetzt.
Demzufolge sehen unsere Ergebnisse nach den einzelnen Schritten so aus:
1.) . Ergebnis = 00000000 (0) Merker = 00000000 (0) 2.) .. Ergebnis = 00000000 (0) Merker = 00000000 (0) 3.) ... Ergebnis = 00000100 (4) Merker = 00000001 (1) 4.) .... Ergebnis = 00000100 (4) Merker = 00000000 (0) 5.) ..... Ergebnis = 00000100 (4) Merker = 00000000 (0) 6.) ...... Ergebnis = 00100100 (36) Merker = 00000001 (1) 7.) ....... Ergebnis = 01100100 (100) Merker = 00000001 (1) 8.) ........ Ergebnis = 01100100 (100) Merker = 00000000 (1)
Wie man sieht, ist man in 8 Schritten zu seinem gewünschten Ergebnis gekommen.
Schriftliche Multiplikation
Um Binärzahlen mutliplizieren zu können, muss man mehrere Schritte durchführen, um ans Ziel zu gelangen. Das Resultat hat so viele Ziffern, wie beide Faktoren zusammen.
Als Beispiel seien hier:
FaktorA = 1100 (12) FaktorB = 1101 (13) Ergebnis = 10011100 (156)
So berechnet man das Ergebnis:
Am einfachsten multipliziert man zwei Binärzahlen indem man (nach alter Schulmethode) schriftlich multipliziert.
Man arbeitet sich bei FaktorB zeichenweise von rechts nach links voran. Dabei zählt man den FaktorA zum Ergebnis dazu, falls die Ziffer "1" ist und schiebt danach den FaktorA in jedem Fall eins nach links.
(Anmerkung: Das Schieben ist mathematisch gleichzusetzen mit der Multiplikation mit/Division durch 2 (binär: 10), wobei nach links=Multiplikation und nach rechts=Division)
Dieses Beispiel würde also wiefolgt berechnet werden:
1100 × 1101 ---------- + 1100 ← erste Ziffer "1" + 1100 ← zweimal nach links schieben, weil die zweite Ziffer "0" ist und dritte erst wieder "1" + 1100 ← vierte Ziffer "1" ---------- = 10011100 ==========
Schriftliche Division
Am Beispiel der Division von 1000010 / 11 (entspricht 66:3 im Dezimalsystem)
1000010 ÷ 11 = 10110 Rest 0 (= 22 im Dezimalsystem) - 011 ----- 00100 - 011 ---- 0011 - 011 ----- 000 - 00 --- 0
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:
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:
Die entsprechende Dualzahl ergibt sich durch Notation der errechneten Reste von unten nach oben: 101001(2).