Es gibt vier Möglichkeiten: 0 + 0 = 0; 0 + 1 = 1; 1 + 0 = 1; 1 + 1 = 10.
Bei den ersten drei Summen genügt für die Summe ein Summenbit s. Bei der letzten Summe benötigen man aber zwei Bits, denn das Ergebnis "Zwei" wird im Dualsystem mit zwei Ziffern geschrieben. Das vorderste Bit wird bei einer mehrstelligen Addition übertragen, deswegen nennen wir es hier schon ü. Die Zusammenhänge kann man in der Wahrheitstafel mit den Eingängen a und b und den Schaltfunktionen ü und s folgendermaßen beschreiben:
b |
|
ü |
s | |
---|---|---|---|---|
0 |
0 |
0 |
0 | |
0 |
1 |
0 |
1 | |
1 |
0 |
0 |
1 | |
1 |
1 |
1 |
0 |
Wie muss man a und b miteinander verknüpfen, um s bzw. ü zu erhalten?
Aus der Tabelle ist ersichtlich, dass das Summenbit in der Spalte s durch
Exklusiv-Oder-Verknüpfung von a und b (Antivalenz, Xor) entsteht.
Das Übertragbit ü wird
durch die UND-Verknüpfung von a und b beschrieben. Die beiden Schaltterme für
s und ü lauten:
und |
Somit kann man durch folgendes Schaltnetz eine sog. Halbaddiererschaltung aufbauen. Neu ist hierbei, dass diese Schaltung neben zwei Eingängen auch zwei Ausgänge besitzt.
(Man kann die Antivalenzschaltung aus andern Gattern aufbauen)
Schließlich gibt es für diese Halbaddierer-Schaltung noch eine eigenes Schaltsymbol: |
Um mehrstellige Dualzahlen addieren zu können benötigt man Schaltungen
die auch einen Übertrag aus einer Addition bei einer niederwertigen Stelle berücksichtigt. Man spricht
vom Übertragseingang c. die Schaltung bezeichnet man als
Volladdierer (VA). Ein Volladdierer kann somit drei Dualzahlen addieren.
Wie kann man einen Volladdierer aus Halbaddiererbausteinen konstruieren?
1. Zunächst addiert man a und b mit einem Halbaddierer. Das (Zwischen)Ergebnis ist die Summenziffer s und der Übertrag ü.
a+b liefert s und ü.
2. Das (Zwischen)Ergebnis s aus der ersten Schaltung wird jetzt mit dem
Summanden c addiert: Man erhält wieder ein Summenbit s als (Endergebnis) für die Summendarstellung und wieder einen Übertrag ü. Damit man besser unterscheiden kann, werden die Ausgänge des ersten Halbaddierers szwischen und ü1 genannt, der zweite Übertrag beim 2. Halbaddierer ü2.
(a+b)+c liefert s und ü2.
3. Es bleibt die Frage, welcher End-Übertrag ü bei der Addition entsteht.
Schauen wir uns die Überträge ü1 und ü2 genauer in der Wahrheitstafel an, und überlegen, wann im Endergebnis ein Übertrag ü stehen muss!
b |
c |
|
ü1 |
szwischen |
|
ü2 |
s |
|
ü |
|
---|---|---|---|---|---|---|---|---|---|---|
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|||
0 |
1 |
0 |
0 |
1 |
0 |
1 |
0 |
|||
1 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
|||
1 |
1 |
0 |
1 |
0 |
0 |
0 |
1 |
|||
0 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
|||
0 |
1 |
1 |
0 |
1 |
1 |
0 |
1 |
|||
1 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
|||
1 |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
|||
|
|
|
|
erster |
|
zweiter |
|
|
Es gibt immer dann den End-Übertrag ü=1, wenn die Summe der drei Zahlen größer ist als 1, also 2 oder 3. Dann ist ü1 oder ü2 gleich 1. Der Endübertrag ü kann also durch die Disjunktion von ü1 und ü2 ausgedrückt werden. Somit ergibt sich das fertige Schaltnetz eines Volladdierers:
Auch für den Volladdierer gibt es wieder ein Schaltsymbol:
Abschließend wird eine Schaltung angegeben, mit deren Hilfe man zwei Dualzahlen a und b mit der binären Darstellung a=a2a1a0 und b=b2b1b0 addieren kann, also z.B. 101+010. Dabei wird ein Übertrag, der bei der Addition einer niederwertigen Stelle entsteht, bei der nächsten höheren Stelle durch jeweils einen Volladdierer automatisch mit addiert. Für die Einerbits a0 und b0 wird nur ein Halbaddierer benötigt.