Ja, bevor ich mich in dem "lehrbuch" untergehe … was genau machen die beiden?
Halbaddierer: addiert zwei Binärzahlen, raus kommt Summe und Übertrag. Volladdierer: Nimmt zusätzlich einen Übertrag als Eingabe. Und fürs nächste Mal tuts auch das erste Suchergebnis der beiden Wörter mit Google [img]
http://www.fb18.de/gfx/25.gif[/img]
was genau machen die beiden?
Der Halbaddierer addiert x und y zu einem Ergebnis und Carry.
Der Volladdierer addiert x, y und einem alten Carry zu einem Ergebnis und einem neuen Carry.
Folgendes leisten die Addierer:
c x y | c s
------+----
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 Summe (s) ist also genau dann 1, falls eine ungerade Anzahl von Einsen addiert wird. Das Carry Flag © wird gesetzt, falls mehrere Einsen addiert werden.
Die erste "c"-Spalte (das Eingangs Carry) musst Du Dir beim Halbaddierer natürlich wegdenken
EDIT: Habe die beiden rechten Spalten mal umgedreht, so kann man die beiden Bits als eine 2-Bit-Zahl sinnvoll interpretieren.