A full adder circuit has three binary digit inputs (two input bits and one carry input bit) and two binary digit outputs, Sum bit and carry output bit.
A full adder can be realized using two half adders as shown:
A full adder can be implemented using 2 XOR, 2 AND, 1 OR as shown in the figure:
The truth table of a full adder logic is:
A |
B |
C_{in} |
Cout |
S |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
1 |
1 |
0 |
1 |
0 |
0 |
0 |
1 |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
From the above truth table, the sum bit of a full adder is given by:
S = A ⊕ B ⊕ C_{in}
And the carry output bit of a full adder is given by:
C_{out} = A.B + (A ⨁ B).C_{in}
The above can also be written as:
C_{out} = B + BC_{in} + AC_{in}