Appearance
Bits Addieren
Binäre Addition
✏️ Aufgabe 3.8a — Binäre Addition
Führen Sie eine schriftliche Addition für die folgenden binären Zahlen durch:
- 1001(2)+110(2)
- 111(2)+1(2)
- 101(2)+101(2)
Halbaddierer
Wie könnte man die Addition zweier einstelliger Zahlen im Binärsystem als Schaltung konstruieren?
0+00+11+01+1=00(2)=01(2)=01(2)=10(2)
Die entsprechende Schaltung benötigt zwei Eingänge und zwei Ausgänge. Die beiden Eingänge A und B werden für die zwei Summanden verwendet. Die Ausgänge stehen für den Übertrag (U) und die Stelle des Resultats (R). Die gesuchte Schaltung muss also folgende Wertetabelle haben:
| A | B | U | R |
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 0 | 1 | 0 | 1 |
| 1 | 0 | 0 | 1 |
| 1 | 1 | 1 | 0 |
Der Wert der Stelle im Resultat kann durch ein XOR-Gatter berechnet werden, der Wert des Übertrags durch ein AND-Gatter. Die Schaltung sieht somit so aus:

✏️ Aufgabe 3.8b — Halbaddierer
- Erstellen Sie ein neues Projekt in CircuitVerse und nennen Sie es Addierer.
- Bauen Sie den Halbaddierer in CircuitVerse nach und probieren Sie aus, ob die Addition von zwei Bits (inklusive Übertrag) korrekt funktioniert.
- Benennen Sie die Eingänge mit «A» und «B», sowie die Ausgänge korrekt mit «R» (für «Resultat») und «U» (für «Übertrag»).
- Benennen Sie die Schaltung (sprich die Registerkarte) «HA» (für Halbaddierer).
Volladdierer
Ein Halbaddierer addiert also 2 separate Bit und sorgt dafür, dass neben dem Resultat auch der Übertrag für die nächste Stelle mittels zweitem Ausgang bereitsteht.
Allerdings berücksichtigt ein Halbaddierer nur die beiden zu addierenden Bits am Eingang, ein allfällig zu berücksichtigender Übertrag bleibt unbeachtet.
Wenn zwei mehrstellige binäre Zahlen addiert werden sollen, muss zusätzlich der Übertrag der vorherigen Stelle addiert werden. Ab der zweithintersten Stelle muss folgendermassen vorgegangen werden:
- Die Ziffern an der aktuellen Stelle werden addiert.
- Zum Resultat wird der Übertrag der vorherigen Stelle addiert.
- Die höhere Stelle des Resultats wird als Übertrag an die nächste Stelle weitergegeben.
Dies kann mit der folgenden Schaltung realisiert werden. Sie besteht aus zwei Halbaddierern sowie einem OR-Gatter. Mit dem OR-Gatter werden die beiden möglichen Überträge zusammengefasst.
✏️ Aufgabe 3.8c — Volladdierer
- Erstellen Sie dazu zuerst die Wahrheitstabelle für den Volladdierer. Der Volladdierer hat drei Eingänge:
- A (erste Zahl)
- B (zweite Zahl)
- V (Übertrag aus der vorherigen Stelle)
und zwei Ausgänge:
- S (Summe)
- U (Übertrag)
- Bauen Sie in CircuitVerse eine neue Schaltung (in einer neuen Registerkarte) im Addierer-Projekt und nennen Sie sie «VA» (für Volladdierer).
- Verwenden Sie zum Erstellen des Volladdierers als Baustein die Schaltung «HA», welche Sie bereits als Baustein haben, indem Sie im Menü Circuit auf Insert SubCircuit klicken und den Halbaddierer einfügen. So wird die Schaltung übersichtlicher.
4-Bit-Addierer
Wir haben mit dem Volladdierer einen Baustein, der zwei 1-Bit-Zahlen addieren kann – inklusive korrekter Behandlung des Übertrags. Nun können wir aus mehreren solchen Bausteinen einen kompletten Addierer bauen, der mehrere Stellen gleichzeitig addieren kann.
⭐️ Zusatzaufgabe 3.8d — 4-Bit-Addierer
Versuchen Sie, in CircuitVerse einen 4-Bit-Addierer zu bauen.
- Erstellen Sie in CircuitVerse eine neue Schaltung (d.h. eine neue Registerkarte) im Addierer-Projekt und nennen Sie sie «4-Bit-Addierer».
- Verwenden Sie für den Aufbau der Schaltung einen Halbaddierer-Baustein «HA» sowie drei Volladdierer-Bausteine «VA».
Hinweis: Zum Addieren der Einer-Stelle braucht es nur einen Halbaddierer, da dort noch kein Übertrag vorhanden sein kann.