Digital Adder Circuits
concept
You and I know how to add two binary numbers, but the whole point of digital systems, and computers, is that we don't have to sit and do the work ourselves.
Adders are the circuits that allow digital systems and computers to add binary numbers.
An adder is fundamental to the operation of modern computers, in this topic you'll learn how they work and even how to build your own.
We first start with the half-adder which will add only single bits and then move onto the full-adder which is an extension that allows multi-bit additions.
Half Adders
Say we want a circuit that will add two bits, we need four rules: $$0+0=00\\ 0+1=01\\ 1+0=00\\ 1+1=10$$ Where our left-most bit in the answer will be our "carry bit" and the right-most is the "sum bit", this mirrors how you learned to do addition.\(A+B\) | Carry | Sum |
---|---|---|
\(0+0\) | 0 | 0 |
\(0+1\) | 0 | 1 |
\(1+0\) | 0 | 1 |
\(1+1\) | 1 | 1 |
Full Adders
In order to add two multi-bit binary numbers we need an adder circuit that accepts a carry bit that might have been generated from an earlier addition. Now we don't wire this up every time we want something added, you can buy an adder chip that implements this for you.fact
A full-adder chip accepts two input bits and a bit which represents an input carry (whether a carry was generated in the previous btis' addition) and outputs a carry bit and a sum bit.
Its symbol is:
Now we can use these chips to compute multi-bit additions. A full adder does just what we do when we perform an addition. By linking the carry out of one chip to the carry in of the next chip carries are propogated through the addition, just like we do when adding.
So to add two numbers \(A\) and \(B\) we apply \(A_0\) and \(B_0\) to the first chip then attach its carry out to the next chip's carry in and apply \(A_1\) and \(B_1\) to that chip and so on.
fact
To add two multi-bit binary numbers \(A\) and \(B\) attach your full-adder chips as follows:
Where \(A_0\) and \(B_0\) are applied to the bottom chip and \(A_3\) and \(B_3\) are applied to the top chip.
The result is read from each of the chips' sum lines with the MSB at the top.
practice problems