edubun
Deutsch

Wie Gatter Zahlen addieren

Ein XOR- und ein AND-Gatter reichen, um zwei Bits zu addieren. Häng vier Volladdierer hintereinander, und du kannst zwei beliebige Zahlen von 0 bis 15 addieren.

Probier das, bevor du weiterliest. Addiere 0101 und 0011 auf Papier im Binärsystem, so wie du dezimal addierst, und schreib jeden Übertrag über die nächste Spalte. Du brauchst nur drei Tatsachen: 0 + 0 = 0, 0 + 1 = 1 und 1 + 1 = 10, also 0 schreiben und 1 übertragen. Mit einem eingehenden Übertrag ist 1 + 1 + 1 = 11, du schreibst also 1 und überträgst 1. Die Rechnung steht im nächsten Absatz, deck ihn also zuerst ab.

Hier ist die Rechnung. Rechte Spalte: 1 + 1 = 10, 0 schreiben, 1 übertragen. Nächste: 0 + 1 plus Übertrag ist wieder 10, 0 schreiben, 1 übertragen. Nächste: 1 + 0 plus Übertrag, 10, 0 schreiben, 1 übertragen. Linke Spalte: 0 + 0 plus Übertrag ist 1. Das Ergebnis ist 1000, also 8, und 5 + 3 = 8. Drei der vier Spalten hatten einen Übertrag. Ein Taschenrechner, ein Spiel und eine Tabellenkalkulation machen am Ende genau das. In einem Prozessor erledigen ein paar Gatter jede Spalte, und die Szene beginnt mit derselben Summe. Probier dort dann 9 + 8. Dafür braucht man ein fünftes Bit.

Wird geladen

Zum Drehen ziehen. Zum Zoomen scrollen oder mit zwei Fingern ziehen.

A = 0101 (5) und B = 0011 (3). Überträge wandern von rechts durch drei Stellen, und die Summe ist 1000 (8). Tippe auf ein beliebiges Bit von A oder B oder wähle eine Zahl in den Menüs. Probier 9 + 8: Das Ergebnis 17 braucht ein fünftes Bit, den Übertrag links hinaus.

Die rechte Spalte braucht nur zwei Gatter

Sieh dir die rechte Spalte für sich an. Das Ergebnisbit dort, die Summe, ist 1, wenn genau ein Eingang 1 ist. Das ist die XOR-Regel. Der Übertrag ist nur dann 1, wenn beide Eingänge 1 sind. Das ist die AND-Regel. Ein XOR-Gatter und ein AND-Gatter nebeneinander, die dieselben zwei Eingänge bekommen, addieren also zwei Bits. Diese kleine Schaltung ist ein Halbaddierer. „Halb“ ist er nur, weil er keinen Übertrag aus der Spalte rechts von ihm aufnehmen kann.

Die anderen Spalten haben drei Bits zu addieren

In jeder anderen Spalte treffen drei Bits zusammen: eins aus jeder Zahl und der Übertrag von rechts. Ein Volladdierer nimmt alle drei. Seine Summe ist A XOR B XOR Übertrag-ein, das ist 1, wenn eine ungerade Anzahl der drei 1 ist. Sein Übertrag-aus ist 1, wenn mindestens zwei davon 1 sind. Zwei Halbaddierer und ein OR-Gatter ergeben einen Volladdierer. Stell vier Volladdierer nebeneinander, verbinde jeden Übertrag-aus mit dem Übertrag-ein des Addierers links daneben, und du hast einen 4-Bit-Addierer. Jeder Übertrag muss von rechts nach links durchlaufen, bevor die letzte Spalte feststeht, deshalb heißt diese Bauart Ripple-Carry-Addierer. Echte Prozessoren addieren 64-Bit-Zahlen mit raffinierteren Schaltungen, die die Überträge vorausberechnen, aber die Regel in jeder Spalte ist dieselbe.

ABÜbertrag einSummeÜbertrag aus
00000
01010
11001
10101
11111

Was passiert, wenn das Ergebnis zu groß ist

Vier Bits fassen 0 bis 15. Addiere 9 und 8, dann ist das wahre Ergebnis 17 binär 10001, also fünf Bits. Ein Register, das nur vier Bits behält, speichert 0001, also 1, und der links übrig gebliebene Übertrag ist das Warnzeichen. Das ist ein Überlauf. 15 + 1 hinterlässt in vier Bits 0000. Prozessoren setzen dabei ein Flag, damit Programme es bemerken können. Die Subtraktion benutzt dasselbe Addierwerk. Um A − B zu berechnen, kehrt der Prozessor jedes Bit von B um und addiert 1, das ergibt das Zweierkomplement von B, addiert das dann zu A und verwirft den überzähligen Übertrag. Für 5 − 3 in vier Bits: 3 ist 0011, umgekehrt 1100, plus 1 ergibt 1101. Dann ist 0101 + 1101 = 10010, und mit vier Bits bleibt 0010, also 2.

Multiplizieren ist Verschieben und Addieren

Die Multiplikation entsteht aus denselben Teilen. Im Binärsystem schiebt eine Multiplikation mit 2 jedes Bit um eine Stelle nach links, so wie eine Multiplikation mit 10 im Dezimalsystem eine Null anhängt: Aus 0011 (3) wird 0110 (6). Bei 5 × 3 fällt auf, dass 3 = 2 + 1 ist. Also ist 5 × 3 = 5 × 2 + 5 × 1 = 1010 + 0101 = 1111, also 15. Eine Multiplizierschaltung verschiebt und addiert genau so und nimmt dabei die 1-Bits der zweiten Zahl eins nach dem anderen.

Häufige Fehler
  • „1 + 1 = 2, also passt das Ergebnis in ein Bit.“ Ein Bit fasst nur 0 oder 1. 1 + 1 = 10: Das Summenbit ist 0, und eine 1 wird übertragen. Lässt man den Übertrag weg, wird das Ergebnis 0, und das ist falsch.
  • „Ein Halbaddierer kann Zahlen beliebiger Länge addieren.“ Ein Halbaddierer hat keinen Eingang für einen Übertrag von rechts, deshalb funktioniert er nur in der rechten Spalte. Jede andere Spalte braucht einen Volladdierer mit drei Eingängen. Ein 4-Bit-Addierer könnte einen Halbaddierer und drei Volladdierer verwenden.
  • „Bei einem Überlauf bleibt der Computer mit einer Fehlermeldung stehen.“ Das Addierwerk behält einfach die Bits, für die es Platz hat. 9 + 8 ergibt in vier Bits 0001, ein falsches Ergebnis, das völlig normal aussieht. Der Prozessor setzt ein Flag, und das Programm muss es prüfen.
  • „Die Subtraktion braucht eine eigene Subtrahierschaltung.“ Kehr die Bits von B um, addiere 1 und addiere das Ergebnis mit demselben Addierwerk zu A. 5 − 3: 0101 + 1101 = 10010, und die vier niedrigsten Bits, 0010, sind 2.
Hinweis für LehrkräfteGib die Summe 0101 + 0011 auf, bevor du „Addierer“ sagst, und lass die Lernenden die Überträge über die Spalten schreiben. Die meisten Tabellen für Halb- und Volladdierer lassen sich dann aus der eigenen Rechnung ablesen. Beim Schritt vom Halb- zum Volladdierer verlieren sie den Faden. Zeig auf die zweite Spalte ihrer Summe und frag, wie viele Bits sie dort addiert haben: drei. Ein Ripple-Carry lässt sich gut mit vier Personen in einer Reihe nachspielen, die eine Übertragskarte nach links weitergeben. Das Zweierkomplement braucht ein langsames Beispiel von Hand; die Szene kann nicht subtrahieren, also rechne 5 − 3 an der Tafel und prüfe, dass 0010 gleich 2 ist.
  1. Was ist 1 + 1 im Binärsystem?
  2. Welches Gatter liefert im Halbaddierer das Summenbit?
    • XOR
    • AND
    • OR
    • NOT
  3. Welches Gatter liefert im Halbaddierer den Übertrag?
    • AND
    • XOR
    • OR
    • NAND
  4. Wie viele Eingangsbits nimmt ein Volladdierer?
  5. Ein Volladdierer bekommt A = 1, B = 1, Übertrag ein = 1. Wie lautet sein Summenbit?
  6. Addiere 0110 und 0011. Gib vier Bits an.
  7. Ein 4-Bit-Register addiert 9 + 8 und behält nur vier Bits. Welche Zahl enthält es?
  8. Wie lautet das 4-Bit-Zweierkomplement von 0011?
  9. Wie viele Volladdierer braucht ein Ripple-Carry-Addierer für 8-Bit-Zahlen?
  10. Was ist die größte Summe, die zwei 4-Bit-Zahlen ergeben können?
Das Wichtigste
  • Halbaddierer: Summe = A XOR B, Übertrag = A AND B.
  • Volladdierer: drei Eingänge; die Summe ist 1 bei einer ungeraden Anzahl von 1-Bits, der Übertrag bei zwei oder mehr.
  • Hintereinandergeschaltete Volladdierer bilden einen Ripple-Carry-Addierer; Überträge laufen von rechts nach links.
  • Überlauf: Das Ergebnis braucht mehr Bits, als das Register hat. Die Subtraktion addiert das Zweierkomplement.
Quellen zu diesem Kurs (9)
  • (checked 2026-10-17; reordered 2026-10-19: standards first, then official documentation, then the teaching model and calculations, history sources last)
  • Standards: NIST, "Prefixes for binary multiples" (physics.nist.gov/cuu/Units/binary.html: IEC approved kibi, mebi, gibi in December 1998; 1 B = 8 bit; 1 MiB = 1 048 576 B; 1 MB = 1 000 000 B; 1 GiB = 1 073 741 824 B; historical note: memory makers usually mean 2²⁰ bytes by megabyte, storage makers 1 000 000, and the "1.44 MB" diskette uses a megabyte of 1 024 000 bytes)
  • IETF RFC 20 "ASCII format for Network Interchange" (1969, 7-bit codes, A = 65, a = 97, 0 = 48)
  • IETF RFC 3629 "UTF-8, a transformation format of ISO 10646" (2003: 1 to 4 octets per character, ASCII unchanged, code points up to U+10FFFF, U+0800 to U+FFFF take three octets, "the first octet of a multi-octet sequence indicates the number of octets", example U+D55C U+AD6D U+C5B4 = ED 95 9C EA B5 AD EC 96 B4)
  • Official documentation: MDN Web Docs, "<color>" (hexadecimal colour notation #RRGGBB)
  • Intel, "Intel Chips" timeline poster (2012: Intel 4004 of 1971 with 2,300 transistors; 2nd generation Core 2010 with 1.16 billion)
  • Claude E. Shannon, "A Symbolic Analysis of Relay and Switching Circuits", Transactions of the AIEE vol. 57 (1938)
  • abstract of his MIT master's thesis. Computer History Museum, The Silicon Engine, "1947: Invention of the Point-Contact Transistor" (Bardeen and Brattain, December 1947, germanium)
  • John von Neumann, "First Draft of a Report on the EDVAC" (30 June 1945, Moore School, reprinted in IEEE Annals of the History of Computing 15:4, 1993).

Abgerufen: 2026-10-17