Full Adder
Three input adder, carry in, truth table, implementation.
A full adder extends the half adder by accepting a third input: the carry input (Cin) from a previous addition stage. This makes the full adder capable of performing binary addition at any bit position in a multi-bit number, including intermediate and most significant bit positions. It is the fundamental building block of all multi-bit adders used in ALUs and arithmetic circuits.
Core Concept: Three-Input Binary Addition
A full adder adds three binary inputs: the two data bits A and B, and a carry input Cin from the previous less significant bit stage. It produces a 2-bit result: Sum and Carry out (Cout). The eight possible input combinations (2^3 = 8) cover all cases of three-bit binary addition. The maximum sum is 1+1+1 = 11 in binary (decimal 3), which gives Sum=1 and Cout=1.
The Sum output of a full adder is 1 when an odd number of inputs are 1. This is the behavior of a three-input XOR gate. The Cout output is 1 whenever at least two of the three inputs are 1. This corresponds to the majority function of three variables.
Mathematical Expression
From the truth table, the two output Boolean expressions for a full adder are derived as follows. The Sum output is:
S = A XOR B XOR Cin
The Carry output expression is obtained by identifying the minterms where Cout=1 (rows 3, 5, 6, 7 in the truth table) and simplifying using K-Map. The minimized expression is: Cout = AB + B.Cin + A.Cin. This is the majority function — the output is 1 when a majority (2 or more) of the three inputs are 1. An alternative equivalent form is: Cout = AB + Cin(A XOR B).
The Cout expression Cout = AB + Cin(A XOR B) reveals the internal structure when the full adder is implemented using two half adders. The first half adder computes (A XOR B) as an intermediate sum and AB as the first partial carry. The second half adder adds Cin to (A XOR B) to get the final Sum, and produces a second partial carry Cin(A XOR B). The final Cout is the OR of the two partial carries: AB + Cin(A XOR B).
Practical Understanding: Full Adder from Two Half Adders
A full adder can be constructed using two half adders and one OR gate. The first half adder takes A and B as inputs and produces an intermediate sum S1 = A XOR B and an intermediate carry C1 = AB. The second half adder takes S1 and Cin as inputs, producing the final Sum = S1 XOR Cin = A XOR B XOR Cin and an intermediate carry C2 = S1.Cin = Cin(A XOR B). The final Cout = C1 OR C2 = AB + Cin(A XOR B).
In terms of gate count, a full adder requires 2 XOR gates, 2 AND gates, and 1 OR gate when built from two half adders. Using NAND gates only, a full adder requires 9 NAND gates. This is an important value for GATE questions on universal gate implementations.
Solved Numerical Example
A full adder receives inputs A=1, B=1, and Cin=1 (as would happen at bit position 1 during binary addition of 11 + 11). Compute the Sum and Cout using the full adder equations.
Given:
A = 1, B = 1, Cin = 1
This represents addition at an intermediate bit position with carry-in = 1.
Why this formula applies:
Full adder handles three inputs; half adder cannot process Cin.
Formula:
Sum = A XOR B XOR Cin
Cout = AB + B·Cin + A·Cin
Substitution:
Sum = 1 XOR 1 XOR 1
Cout = (1·1) + (1·1) + (1·1)
Calculation:
Step 1: 1 XOR 1 = 0
Step 2: 0 XOR 1 = 1 → Sum = 1
Step 3: Cout = 1 + 1 + 1 = 1 (Boolean OR) → Cout = 1
Result: Sum = 1, Cout = 1
Binary result at this bit: 11 (decimal 3)
Meaning: 1 + 1 + 1 = 3 = binary 11 → Sum bit = 1, Carry bit = 1 ✓
Final Answer:
Sum = 1, Cout = 1
This correctly represents 1+1+1 = 3 in decimal = 11 in binary.Exam Tip: In GATE, a common question is: how many full adders are needed to add two n-bit numbers? The answer is n full adders for a ripple carry adder (since each stage needs to process Cin). If one half adder is used at the LSB, then (n-1) full adders are needed. Also remember: Cout = AB + Cin(A XOR B) is equivalent to Cout = AB + BCin + ACin. Both are valid and equally correct.
Loading lab...
Quick Revision
- Full adder has 3 inputs (A, B, Cin) and 2 outputs (Sum, Cout). Truth table has 8 rows.
- Sum = A XOR B XOR Cin. Cout = AB + BCin + ACin (majority function).
- Cout = 1 when 2 or more of the 3 inputs are 1.
- Full adder = 2 Half Adders + 1 OR gate. Gate count: 2 XOR + 2 AND + 1 OR.
- NAND-only implementation of full adder: 9 NAND gates.
- For n-bit ripple carry adder: n full adders needed (or 1 half adder + (n-1) full adders).
- GATE trap: Do not confuse Cout = AB + Cin(A XOR B) with Cout = AB + Cin(A XNOR B). The correct term is A XOR B, not XNOR B.
Full Adder Quiz
Test your understanding of full adder truth tables, Boolean expressions, and carry logic.
Q1.For a full adder with A=1, B=1, Cin=1, what are the Sum and Cout outputs?
Related Articles
BCD Adder
4-bit BCD addition, correction logic for invalid BCD.
4 min read
Carry Lookahead Adder
Generate and propagate, fast carry computation, CLA.
11 min read
Full Subtractor
Three input subtractor, borrow in, implementation.
9 min read
Modeling Adders
Half, Full, Ripple Carry Adder.
10 min read
2-to-1 Multiplexer
Single select line, data routing, Boolean implementation.
4 min read