Addierer: Halbaddierer und Volladdierer erklärt
Addierer sind digitale Schaltnetze: Sie addieren Bits und geben die Summe sowie einen möglichen Übertrag aus. Ein Halbaddierer verarbeitet zwei Bits. Ein Volladdierer kann zusätzlich den Übertrag der vorherigen Stelle mitaddieren.
Hake ab, was du schon kannst — und komm am Ende hierher zurück!
Zwei Bits mit dem Halbaddierer addieren
Ein Bit kann den Wert 0 oder 1 haben. Addierst du zwei Bits, kann das Ergebnis zwei Stellen benötigen: $1+1=10_2$. Die tiefgestellte 2 zeigt, dass es sich um eine Binärzahl handelt.
Halbaddierer
Ein Halbaddierer addiert zwei Eingangsbits $x$ und $y$. Er liefert das Summenbit $s$ und den Übertrag $c$.
| $x$ | $y$ | Summe als Binärzahl | $s$ | $c$ |
|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 |
| 0 | 1 | 1 | 1 | 0 |
| 1 | 0 | 1 | 1 | 0 |
| 1 | 1 | 10 | 0 | 1 |
Das Summenbit ist genau dann 1, wenn sich die Eingänge unterscheiden. Das beschreibt die XOR-Verknüpfung:
$$s=x\oplus y$$
Der Übertrag ist nur dann 1, wenn beide Eingänge 1 sind:
$$c=x\land y$$
Für $x=1$ und $y=1$ gilt $1+1=10_2$. Deshalb ist das Summenbit $s=0$ und der Übertrag $c=1$.
Warum der Volladdierer einen dritten Eingang braucht
Bei einer mehrstelligen Binäraddition kann von der vorherigen, weiter rechts stehenden Stelle ein Übertrag eintreffen. Ein Halbaddierer kann diesen dritten Wert nicht aufnehmen.
Volladdierer
Ein Volladdierer addiert die Eingangsbits $x$ und $y$ sowie den eingehenden Übertrag $c_{\mathrm{in}}$. Er liefert das Summenbit $s$ und den ausgehenden Übertrag $c_{\mathrm{out}}$.
Die Summe der drei Eingänge kann 0, 1, 2 oder 3 betragen. Das Summenbit $s$ ist die niederwertige Ergebnisstelle. $c_{\mathrm{out}}$ ist die höherwertige Stelle.
| $x$ | $y$ | $c_{\mathrm{in}}$ | Dezimalsumme | $s$ | $c_{\mathrm{out}}$ |
|---|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 | 0 |
| 0 | 0 | 1 | 1 | 1 | 0 |
| 0 | 1 | 0 | 1 | 1 | 0 |
| 0 | 1 | 1 | 2 | 0 | 1 |
| 1 | 0 | 0 | 1 | 1 | 0 |
| 1 | 0 | 1 | 2 | 0 | 1 |
| 1 | 1 | 0 | 2 | 0 | 1 |
| 1 | 1 | 1 | 3 | 1 | 1 |
Für die Ausgänge gelten:
$$s=x\oplus y\oplus c_{\mathrm{in}}$$
$$c_{\mathrm{out}}=(c_{\mathrm{in}}\land(x\oplus y))\lor(x\land y)$$
Die zweite Formel lässt sich als Entscheidung lesen: Ein Übertrag entsteht, wenn $x$ und $y$ beide 1 sind. Er entsteht auch, wenn genau eines dieser Bits 1 ist und zusätzlich $c_{\mathrm{in}}=1$ gilt.
Bei zwei oder drei Einsen an den Eingängen ist $c_{\mathrm{out}}=1$. Das Summenbit ist bei einer oder drei Einsen gleich 1.
Wie zwei Halbaddierer einen Volladdierer bilden
Ein Volladdierer lässt sich aus zwei Halbaddierern und einem ODER-Gatter zusammensetzen:
- Der erste Halbaddierer addiert $x$ und $y$. Er erzeugt eine Zwischensumme und einen ersten Übertrag.
- Der zweite Halbaddierer addiert die Zwischensumme und $c_{\mathrm{in}}$. Er erzeugt $s$ und einen zweiten Übertrag.
- Ein ODER-Gatter verbindet die beiden Überträge. Sein Ergebnis ist $c_{\mathrm{out}}$.
Gegeben seien $x=1$, $y=0$ und $c_{\mathrm{in}}=1$.
- Der erste Halbaddierer berechnet $1+0$: Zwischensumme 1, erster Übertrag 0.
- Der zweite berechnet $1+1$: Summenbit $s=0$, zweiter Übertrag 1.
- Die ODER-Verknüpfung der Überträge 0 und 1 liefert $c_{\mathrm{out}}=1$.
Damit lautet das zweistellige Ergebnis $10_2$.
Wähle in jeder Lücke die passende Form und prüfe anschließend deine Antworten.
Der erste Halbaddierer verarbeitet . Der zweite nimmt zusätzlich auf. Ein verbindet die beiden möglichen Überträge.
Mehrstellige Binärzahlen addieren
Für eine mehrstellige Addition arbeitest du von rechts nach links. Jede Stelle gibt ihren ausgehenden Übertrag an die nächste Stelle weiter.
Addiere $11_2$ und $01_2$.
Rechte Stelle: $1+1=10_2$. Schreibe 0 als Summenbit und gib den Übertrag 1 nach links weiter.
Linke Stelle: $1+0+1=10_2$. Der Volladdierer berücksichtigt hier den eingehenden Übertrag. Schreibe wieder 0 und setze den neuen Übertrag 1 davor.
Das Ergebnis lautet:
$$11_2+01_2=100_2$$
Zur Kontrolle: $11_2$ entspricht 3 und $01_2$ entspricht 1. Das Ergebnis $100_2$ entspricht 4.
Der Halbaddierer eignet sich für eine Stelle ohne eingehenden Übertrag. An jeder Stelle, an der ein Übertrag eintreffen kann, wird ein Volladdierer benötigt. Mehrere verbundene Addierer bilden ein Addiernetz.
Karteikasten
Überlege zuerst selbst und drehe die Karte anschließend zum Prüfen um.
Alles auf einen Blick
- Addierer
- Halbaddierer
- zwei Eingangsbits
- Summe und Übertrag
- Volladdierer
- zwei Eingangsbits und $c_{\mathrm{in}}$
- $s$ und $c_{\mathrm{out}}$
- zwei Halbaddierer und ODER-Gatter
- Addiernetz
- Stellen von rechts nach links
- Übertrag wird weitergegeben
- Halbaddierer
Abschluss-Check
Du kannst deinen Lösungsweg prüfen, indem du zuerst die Einsen an den Eingängen zählst und ihre Summe als zweistellige Binärzahl deutest: Die rechte Stelle ist $s$, die linke Stelle ist $c_{\mathrm{out}}$.
Mit Google fortfahren