Informatik

Addierer: Halbaddierer und Volladdierer erklärt

Addierer: Halbaddierer und Volladdierer erklärt
Addierer: Halbaddierer und Volladdierer erklärt
Für Quiz, Lückentext, Lernkarten und Fortschritt ist JavaScript nötig. Alle Inhalte und Lösungen bleiben direkt lesbar.

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.

Deine Lernziele

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.

Definition

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$
00000
01110
10110
111001

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$$

Beispiel

Für $x=1$ und $y=1$ gilt $1+1=10_2$. Deshalb ist das Summenbit $s=0$ und der Übertrag $c=1$.

Teste dich
Frage 1 von 1LeichtWelche Ausgänge erzeugt ein Halbaddierer für $x=1$ und $y=0$?
Lösung: $s=1$ und $c=0$ — $1+0=1$. Das Summenbit ist daher 1; eine zweite Ergebnisstelle wird nicht benötigt.
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.

Definition

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}}$
000000
001110
010110
011201
100110
101201
110201
111311

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.

Merke

Bei zwei oder drei Einsen an den Eingängen ist $c_{\mathrm{out}}=1$. Das Summenbit ist bei einer oder drei Einsen gleich 1.

Teste dich
Frage 1 von 2MittelFür $x=0$, $y=1$ und $c_{\mathrm{in}}=1$: Welche Ausgänge sind richtig?
Lösung: $s=0$ und $c_{\mathrm{out}}=1$ — Die Eingänge ergeben $0+1+1=2=10_2$. Die niederwertige Stelle ist 0, die höherwertige Stelle 1.
Frage 2 von 2SchwerBei welcher Eingabe sind beide Ausgänge eines Volladdierers 1?
Lösung: $x=1$, $y=1$, $c_{\mathrm{in}}=1$ — Drei Einsen ergeben $3=11_2$. Deshalb sind das Summenbit und der Übertrag jeweils 1.
Wie zwei Halbaddierer einen Volladdierer bilden

Ein Volladdierer lässt sich aus zwei Halbaddierern und einem ODER-Gatter zusammensetzen:

  1. Der erste Halbaddierer addiert $x$ und $y$. Er erzeugt eine Zwischensumme und einen ersten Übertrag.
  2. Der zweite Halbaddierer addiert die Zwischensumme und $c_{\mathrm{in}}$. Er erzeugt $s$ und einen zweiten Übertrag.
  3. Ein ODER-Gatter verbindet die beiden Überträge. Sein Ergebnis ist $c_{\mathrm{out}}$.
Beispiel

Gegeben seien $x=1$, $y=0$ und $c_{\mathrm{in}}=1$.

  1. Der erste Halbaddierer berechnet $1+0$: Zwischensumme 1, erster Übertrag 0.
  2. Der zweite berechnet $1+1$: Summenbit $s=0$, zweiter Übertrag 1.
  3. Die ODER-Verknüpfung der Überträge 0 und 1 liefert $c_{\mathrm{out}}=1$.

Damit lautet das zweistellige Ergebnis $10_2$.

Lückentext

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.

Lösungen: Lücke 1: x und y; Lücke 2: den eingehenden Übertrag; Lücke 3: ODER-Gatter. Die beiden Halbaddierer führen die Addition in zwei Schritten aus. Das ODER-Gatter sorgt dafür, dass jeder der beiden möglichen Überträge zu $c_{\mathrm{out}}$ führen kann.
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.

Beispiel

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.

Teste dich
Frage 1 von 2MittelWarum genügt eine Folge von Halbaddierern nicht für jede mehrstellige Addition?
Lösung: Ein Halbaddierer besitzt keinen Eingang für den Übertrag der vorherigen Stelle. — Bei höheren Stellen können zwei Zahlenbits und ein eingehender Übertrag zu addieren sein. Dafür werden drei Eingänge benötigt.
Frage 2 von 2SchwerWas geschieht mit $c_{\mathrm{out}}$ einer Stelle in einem Addiernetz?
Lösung: Er wird als $c_{\mathrm{in}}$ an die nächste, höherwertige Stelle weitergegeben. — Der Übertrag wandert von rechts nach links zur nächsten Binärstelle und wird dort mitaddiert.
Karteikasten
Karteikasten

Überlege zuerst selbst und drehe die Karte anschließend zum Prüfen um.

Alles auf einen Blick
Mindmap
  • 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
Abschluss-Check
Teste dich
Frage 1 von 3LeichtWas unterscheidet den Volladdierer unmittelbar vom Halbaddierer?
Lösung: Der Volladdierer besitzt einen Eingang für einen eingehenden Übertrag. — Der zusätzliche Eingang $c_{\mathrm{in}}$ macht den Volladdierer für Stellen mit einem ankommenden Übertrag geeignet.
Frage 2 von 3MittelEin Volladdierer erhält $x=1$, $y=0$ und $c_{\mathrm{in}}=0$. Was gibt er aus?
Lösung: $s=1$ und $c_{\mathrm{out}}=0$ — Die Summe der Eingänge ist 1. Ihre Binärdarstellung benötigt nur das Summenbit.
Frage 3 von 3SchwerBei einer Addiererstufe gilt $s=0$ und $c_{\mathrm{out}}=1$. Welche Aussage muss zutreffen?
Lösung: Die drei Eingänge enthalten genau zwei Einsen. — Genau zwei Einsen ergeben die Summe 2 beziehungsweise $10_2$. Bei drei Einsen wäre das Ergebnis $11_2$ und damit auch $s=1$.

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}}$.

Passend dazu

Ausprobieren