Binary and addition
Half Adder vs Full Adder: Carry In Explained
A half adder adds just two one-bit inputs, A and B. A full adder has one more input, carry in (Cin), so it can also add the carry coming from the column to its right. That extra input is what lets full adders work column after column on longer numbers.
Inputs and outputs
A half adder has two inputs, A and B, and two outputs: the sum S is A XOR B and the carry C is A AND B. Written side by side as CS, they form the two-bit binary result.
A full adder has three inputs, A, B and Cin, and two outputs: S is the remainder of A+B+Cin divided by 2, and Cout is A+B+Cin divided by 2, rounded down. When Cin=1, the column counts one more unit of its own place value; when Cin=0, it adds nothing. It affects only this column and does not add a fixed decimal 1 to the whole problem.
Half adder truth table
The four rows list every combination of A and B.
| A | B | C | S |
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 0 | 1 | 0 | 1 |
| 1 | 0 | 0 | 1 |
| 1 | 1 | 1 | 0 |
Full adder truth table
The eight rows go through every combination of A, B and Cin in order. The three digits in a row are the values of three separate inputs, so 111 means A=1, B=1 and Cin=1. Don't read the set as one three-digit binary number; read that way, 111 would be decimal 7, which has nothing to do with this table.
| A | B | Cin | S | Cout |
|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 |
| 0 | 0 | 1 | 1 | 0 |
| 0 | 1 | 0 | 1 | 0 |
| 0 | 1 | 1 | 0 | 1 |
| 1 | 0 | 0 | 1 | 0 |
| 1 | 0 | 1 | 0 | 1 |
| 1 | 1 | 0 | 0 | 1 |
| 1 | 1 | 1 | 1 | 1 |
Two half adders, one after the other
You can think of a full adder as two steps. The first half adder adds A+B and gives a sum and a carry. The second half adder adds that sum to Cin and gives the final S. The carries from the two steps are combined into Cout, and they are never both 1.
The 2-point carry from the first step is never fed back into the second adder's 1-point input; it goes straight to Cout. In the course you experience this by using the adding box twice, without wiring anything or building an OR gate yourself.
Half adder
Input
Output
1 + 1 = 10₂ = 2
Full adder
Input
Output
1 + 1 + 1 = 11₂ = 3
Check yourself
What is the key difference between a half adder and a full adder?
Answer
A full adder has an extra input, carry in, so it can add the carry from the column to its right. A half adder adds only A and B.
A full adder gets A=1, B=0, Cin=1. What are the outputs?
Answer
1+0+1 is 2, so S=0 and Cout=1.
What does 110 mean in the full adder truth table?
Answer
It is the input set A=1, B=1, Cin=0, not the binary number 110. The outputs are S=0 and Cout=1.