Dualsystem Lektion 4, Seite: 1 Einführung in das Dualsystem In der Geschichte der Rechnerentwicklung gab es, wie wir schon hörten einen Übergang von der mechanischen Maschine zur elektromagnetischen Maschine. Ein Relais ist eigentlich nichts weiter als ein Magnetschalter. Er kennt zwei Zustände. Entweder ist er eingeschaltet und dann kann ein Strom fließen, oder ausgeschaltet und es fließt kein Strom. Das Umschalten erfolgt durch einen Stromstoss. Bei unserem normalen Lichtschalter müssen wir es übernehmen, die Position des Schalters zu verändern. Die Frage ist, wie kann man mit nur zwei Zustandsmöglichkeiten rechnen? Das Dezimalsystem Unser Dezimalsystem besteht aus einem Wertebereich von zehn verschiedenen Ziffern {1, 2, 3, 4, 5, 6, 7, 8, 9, 0}. Aus diesen Ziffern bilden wir diejenige Zahl, der wir einer Menge von Objekten zuordnen. Beispiel: Die Ziffer {4} wird der Zahl 4 von vier Äpfeln (Objekte) in unserem Korb. Die Ziffern {1, 5} werden in dieser Reihenfolge der Zahl 15 zugeordnet, was einer Gruppe von 15 Schülern entsprechen könnte. Die Ziffern {1,1,7} in der Reihenfolge 1, 7, 1 werden einer Menge von 171 gleichen Objekten als Zahl zugeordnet. In allen drei Beispielen wählten wir ständig, neu eine Ziffer aus dem Wertebereich aus. Die Potenzrechnung Beim Aufschreiben einer Zahl ordnen wir jeder Stelle (Position) eine 10-Potenz zu. So stehen ganz rechts die Einerstellen. Wenn wir nach links gehen werden die Potenzen größer. Dann kommen die Zehnerstellen, die Hunderter, usw. Ein Potenzausdruck sieht folgendermaßen aus: ax = b . Hierbei bezeichnen wir „a“ als die Basis, x als Exponent. Der Exponent x gibt an, wie oft die Basis mit sich selbst multipliziert wird. In unserem Zahlensystem ist die Basis 10 und für unsere Betrachtungen sind die Exponenten entweder natürliche oder ganze Zahlen. Beispiel: 104 = 10 000 103 = 1 000 102 = 100 Wir lesen: zehn hoch vier ist gleich zehntausend. 101 = 10 100 =1 Die Zahl mit der wir eine gegebene Potenz multiplizieren, gibt an, wie oft diese Potenz enthalten ist. Beispiel: Die Zahl 37 hat als Zehnerstelle den Wert 3 und als Einerstelle den Wert 7. Als Summe von Potenzen stellt sich die Zahl wie folgt dar: 3 101 + 7 100 = 37 Aufgabe: Stellen Sie die Zahlen als Summe von Zehnerpotenzen dar: 3 505, 421, 8, 61 D:\75904501.doc Burmeister letzte Änderung: 2004.02.15 Dualsystem Lektion 4, Seite: 2 Das Dualzahlensystem Im Gegensatz zu unserem Dezimalsystem besitzen wir hier nur zwei Ziffern. Deshalb bezeichnen wir es als Binär- oder auch Dualzahlensystem. Betrachten wir zwei Zustände, so können sie wie folgt aussehen: Die Aussage ist entweder wahr oder falsch. Die Behauptung kann richtig oder falsch sein. Der Strom kann ein- oder ausgeschaltet sein. Welche zwei Symbole stehen für diese zwei Zustände: So benutzt man in der Rechentechnik für eine logisch Aussage, die wahr ist, ein „T“ (englisch true), ist sie falsch ein „F“ (englisch false). Beim Stromfluss sehen wir eine „1“ auf unserem Lichtschalter und eine „0“, falls der Strom ausgeschaltet ist. Grundlage eines jeden Binärcodes ist ein sogenanntes Binäres System, d.h. ein System, in dem nur ausschließlich zwei gegensätzliche Zustände herrschen, zum Beispiel An/Aus , Wahr/Falsch, 0/5 Volt im Stromkreislauf oder - eben beim Binärcode - 1 oder 0. Einen solchen Dualismus kennt man auch aus der Pascalprogrammierung durch den Umgang mit dem Datentyp BOOLEAN (nach Georg Boole, 1815-1864, engl. Logiker und Mathematiker). Der Ziffernbereich des binären Zahlensystems ist {0, 1}. Aus der Mathematik ist eine Methode bekannt, wie man mit nur 2 Ziffern allen Zahlen darstellen und danach mit ihnen rechnen kann. 210 = 1024 24 = 16 29 = 512 25 = 8 28 = 256 22 = 4 27 = 128 21 = 2 26 = 64 20 = 1 25 = 32 23 = 2 2 2 = 8 3 Aufgabe: Berechnen Sie die Zweierpotenzen weiter bis 215 = ! Analog zum Dezimalsystem ist auch hier die kleinste Potenz rechts, der Wert mit der größten Potenz steht dementsprechend links. Bei der Zahlendarstellung müssen wir uns daran gewöhnen, dass wir nur zwei Ziffern zur Verfügung haben, mit denen wir die Potenz multiplizieren. Eine null zeigt uns an, dass die Potenz (oder Potenzstelle – beim Dezimalsystem Einer-, Zehner-, Hunderterstelle, ….) nicht vorhanden ist, bei einer eins jedoch ist die Potenz da. Beispiel: 10012 zeigt uns an, dass die Dreierpotenz und die Nullpotenz vorhanden sind. 1 23 + 0 22 + 0 21 + 1 20 = 910 1222 +022 +02 +11 =910 1 0 0 1 8 +0 +0 +1 =9 Um bei den durchzuführenden Übungen, die Zahlenwerte eindeutig unterscheiden zu können, führen wir folgende Konvention ein. D:\75904501.doc Burmeister letzte Änderung: 2004.02.15 Dualsystem Lektion 4, Seite: 3 Zahlen des Dezimalsystem werden mit dem unteren Index 10, binäre Zahlen mit dem unteren Index 2 versehen. Beispiel: 10012 = 910 Rechenoperationen im Binärsystem Addition: Die Addition im Dualsystem erfolgt wie im Dezimalsystem stellenweise und mit Übertrag. 1001001 100101 Beispiel: 1101110 Die Überprüfung des Rechenbeispiels überlasse ich Ihnen. Multiplikation: Die Multiplikation ist sozusagen eine Verschiebung im Register. 101 101 Beispiel: 101 0 101 11001 Subtraktion: Da die Addition die Umkehrung der Addition ist, gibt es keine zusätzlichen Rechenwerke, sondern man nutzt die vorhandenen Addierwerke aus. Dazu braucht man eine geeignet Darstellung von negativen Zahlen: a + (-a) = 0, d.h. berücksichtigt man, dass die Subtraktion einer Zahl ist gleich der Addition des inversen Elements dieser Zahl. Um dieses Element zu erhalten, bildet man das Zweierkomplement der Zahl: Dazu wird die Zahl zunächst durch bitweises Negieren in ihr Einerkomplement verwandelt, dann wird 1 addiert und man erhält das Zweierkomplement. Beachten Sie: Bei der Bildung des Komplements, müssen wir uns vorher auf eine Bitlänge einigen, damit man nicht unendlich viele digitale Ziffern schreiben muss. Alles was darüber hinausgeht, fällt unter den Tisch. Beispiel: 7 –4 =3 Binärdarstellung: 111 für 710 011 für 310 unsere Bitlänge ist hier drei, da die Zahl ja nicht größer wird, wenn wir subtrahieren. D:\75904501.doc Burmeister letzte Änderung: 2004.02.15 Dualsystem Zweierkomplement: Einerkomplement von 310: 0112 ist Addieren von 1 zum Einerkomplement Lektion 4, Seite: 4 100 101 Probe: 3 + (-3) = 0 011 +101 10002 die führende 1 fällt weg, da wir oben die Länge auf 3 festlegten! Subtraktion: 111 +101 11002 , wie wir sehen, ist das Ergebnis 410. Nach Adam Ries sollte dies auch so sein. Für die Rechenkünstler unter Euch: Es gilt, um es an dieser Stelle noch einmal zu betonen: a+ (-a) = 2n , wobei n die Stellenanzahl von a ist. a+(-a) ist also eine Zahl mit einer führenden 1 und n Nullen. Da die Stellenzahl in Rechenwerken beschränkt ist, in diesem Fall also auf n Stellen, fällt die führende 1 weg , -a ist somit das inverse Element, a+(-a) ist jetzt tatsächlich null. Wie wäre es mit 8 – 3 = 5 (wie gut, dass wir die Darstellung von –3 schon kennen, 10002 +11012 wo kommt auf einmal die führende 1 her? Noch einmal Einerkomplement: 101012 ist wohl 510 Einerkomplement: 00112 ist ebenfalls 3 11002 das Einerkomplement 11012 nach Addition mit 1 Für 3 = 112 ist die binäre (–3) = 012 Wichtige Feststellung: Wie wir wissen sind die Bitlängen begrenzt. Heute arbeiten wir mit einer Bitlange von 8 Bit für 1 Byte, bzw. auf ein Vielfaches der Bytelänge (Halbwort, Wort, Doppelwort). Weiterhin beschäftigten wir uns nur mit ganzen Zahlen! D:\75904501.doc Burmeister letzte Änderung: 2004.02.15