Addition of Two 1-Bit binary numbers - Half Adder
Here, we have the sum of the, and the carry
Let’s draw out the truth table of what happens :
We then can conclude that the logical expression representing addition is given by
Addition of Two N-Bit binary numbers - Full Adder
A binary -bit adder has two operands and a carry-in as inputs It produces a sum of and a carry out of
We have the sum of the -th term, and the carry given by
In fact, we can construct it from two half adders:

In the optimized form, we get the circuit given by:

Basic Ripple-Carry Adder
If we daisy-chain the full adders together (with the carry-in wired to the carry-out of the previous adder), we can do the sum of -bit numbers
Subtractors
Subtractors are basically the same thing as adders
N-Bit Unsigned Subtractor
We again start with only one circuit for two bits, instead of doing a truth table for the full circuit
We can then daisy-chain them, just as we did with adders to make a ripple-carry subtractor
In Two’s Complement
Adders don’t change, let’s do subtractors
Subtractors
The nice thing we can do is add a complemented form of the second number to do subtraction
Adder-Subtractor in TC
We have a control signal that determines the mode (whether we do addition or subtraction)
We can then have
| Any | Any | ||
| Any | Any | ||
| Which gives this expression |
By simplifying the expression, we get
Fast Adders
We know that performance matters The system value is given by
For full ripple-carry adders, the “ripple” has to reach the last carry-out to get the correct result This is not good for performance
The Critical path is the slowest input-to-output path and determines when the result is ready