Die Addition von Binärzahlen ist ein etwas seltsamer Vorgang und kann zunächst etwas verwirrend erscheinen. Aber in Wahrheit ist es der Addition von Dezimalzahlen sehr ähnlich, die uns als Teil der Elementarmathematik beigebracht werden – mit der offensichtlichen Ausnahme, dass wir eher mit zwei als mit zehn Ziffern arbeiten!
Um über Addition in binären Begriffen nachzudenken, schauen wir uns die binäre Addition von zwei 1-Bit-Werten an – die einfachste Form der Addition, die wir uns vorstellen können:
Die obige Tabelle stellt die grundlegenden logischen Regeln der binären Addition dar. Die Zahlen links in der Tabelle stellen die Binärwerte dar, die wir hinzufügen möchten, und die Zahlen rechts stellen das Ergebnis dieser Addition dar. Dies könnte Sinn machen, abgesehen von der seltsamen Tragesäule, die plötzlich aufgetaucht ist!
Die Carry-Spalte kennzeichnet Ergebnisse, bei denen wir den Betrag überschritten haben, den wir mit nur einem Bit darstellen können. Ein zusätzliches Bit zur Darstellung dient als Mechanismus zum Verschieben (oder Tragen) von Werten in die nächste Einheitenspalte (in Binärform sind diese Einheitenspalten 1, 2, 4, 8… usw.) bei der Berechnung der Addition. Intuitiv können Sie sich das so vorstellen, wie wir Dezimalwerte in ihre nächste Einheitsspalte (1, 10, 1000) ‚tragen‘ können… usw.) bei der Berechnung der Dezimaladdition von Hand.
Aber was ist mit der Implementierung als Hardware? Nun, da die Additionsmethode grundlegende Logik verwendet, kann sie als digitale Schaltung konstruiert werden, die durch das folgende Blockdiagramm dargestellt wird.
Diese Schaltung nimmt zwei 1-Bit-Binärwerte als Eingänge (A & B), gibt ein Ergebnis (R) und einen Carry-Wert aus (da der Carry ein Ausgang aus dem Ergebnis ist, nennen wir ihn ‚carry out‘ oder kurz Cout). Dieses Verhalten definiert einen ‚halben Addierer‘ – einen Mechanismus, der es uns ermöglicht, eine 1-Bit-Binäraddition durchzuführen.