3.3.1 · D5Combinational Circuits

Question bank — Half adder and full adder

2,228 words10 min readBack to topic

Picture the gates before you trap them

Before any true/false line, anchor the three gate behaviours in one picture. Each column below the gate name shows the output for the four input pairs — look at the single cell where they disagree: that lone difference is the entire half adder.

Figure — Half adder and full adder

The half adder as a circuit

The half adder is just those two panels wired in parallel from the same two inputs. Trace the two wires in the figure: and fan out, one copy goes into an XOR (giving ), the other into an AND (giving ).

Figure — Half adder and full adder

The full adder in one truth-table picture

All eight input combinations at once — this single visual anchors both explanations used throughout the trap questions. The orange bars mark rows where the count of 1s is odd (those give , the parity story); the blue shading marks rows where at least two inputs are 1 (those give , the majority story).

Figure — Half adder and full adder

Why the two carry formulas are the same circuit

The trap line " vs are different" is false — here is the collapse, step by step, so you never take it on faith.

The bar chart below verifies the collapse by brute force: for all eight inputs the two formulas produce identical heights (both light up on exactly the four majority rows).

Figure — Half adder and full adder

The full adder built from two half adders

The trap questions about , and the final OR all refer to this signal flow. Follow the arrows: HA1 takes ; its Sum travels into HA2 together with ; HA2's Sum is the final . The two half-adder carries and meet at an OR gate to make .

Figure — Half adder and full adder

True or false — justify

The half adder's Sum output equals the OR of its inputs.
False — Sum is XOR. OR gives 1 for the pair , but adding the two 1s should make Sum with a carry; XOR correctly outputs 0 when the bits are equal.
A half adder can add two bits that already came with a carry from the previous column.
False — that is exactly what "half" denies: it has no input, so it only ever sees two bits and is incomplete for chaining.
A full adder always produces a 2-bit result no matter which inputs you feed it.
True — three input bits sum to at most the value , which always fits in exactly two output bits.
The full adder Sum is 1 whenever a majority of the inputs are 1.
False — Sum tracks parity (odd count of 1s), not majority. For the majority is 1 but Sum .
Swapping the roles of and in a full adder changes its outputs.
False — all three inputs enter symmetrically ( is parity, is majority), so any permutation of gives identical outputs.
and describe different circuits.
False — they are algebraically equal (see the collapse and bar chart above); the second is the plain majority form, the first is the form that falls out when you build the full adder from two half adders.
A full adder made from two half adders needs an OR gate that the direct majority-form circuit does not obviously show.
True — the two internal half-adder carries and can never both be 1, so their combination is an OR: .

Spot the error

"Half-adder carry is because addition is like OR."
Error: OR fires for and , but adding those gives no carry. Carry must be AND (), true only when both bits are 1.
"Full-adder Sum is since 'sum' means add."
Error: here is Boolean OR, not arithmetic addition. Sum is parity, so .
"For the majority carry I can write ."
Error: majority means "at least one pair is both-1", which is an OR of the pair-products: , not their AND.
"When I build a full adder from two half adders, the second half adder should add and ."
Error: the second half adder adds the first half adder's Sum with , not the raw .
"A ripple-carry adder wires each stage's back into the same stage's ."
Error: a stage's feeds the next stage's ; feeding it back into itself would be a loop, not a ripple chain.
"Because can equal 1, one full adder alone can output the value 4."
Error: a single cell outputs at most the value ; is only two bits. The value 4 needs the carry to ripple into a second stage.

Why questions

Why does any binary adder cell need two outputs rather than one?
Because adding two 1s gives the value , a two-bit answer, so one column must produce both a current bit (Sum) and a spill into the next column (Carry).
Why is Sum an XOR and not something else?
XOR outputs 1 exactly when the count of 1-inputs is odd; the low bit of any sum equals the parity of its addends, which is precisely what XOR encodes.
Why is the full-adder carry called the "majority function"?
exactly when two or three of the inputs are 1 — the value held by the majority of the three inputs.
Why can we reuse two half adders to make a full adder instead of designing new logic?
Adding three bits factors into "add two, then add the third to that partial sum", and each of those two-bit additions is exactly a half adder.
Why do the two internal half-adder carries and never both equal 1 at the same time?
needs , but then , so . They are mutually exclusive, which is why an OR safely combines them into .
Why does XOR give the correct Sum for three inputs when we only defined it for two?
XOR is associative — equals because both just answer "is the total count of 1s odd?", a fact independent of grouping — so we can chain the two-input gate and it flips output once per 1-input, landing on 1 for an odd total.
Why is a full adder the right building block for two's-complement subtraction?
Subtraction becomes "add the two's complement", so the same full-adder chain does subtraction by feeding a complemented operand plus a starting .

Edge cases

What are and of a half adder when ?
Both 0 — the degenerate case: nothing to add, nothing to carry, so the outputs are the neutral .
Full adder with all inputs 0 — what is ?
: zero 1-inputs means even parity (Sum 0) and no majority of 1s (Carry 0).
Full adder with exactly two inputs 1 (e.g. ) — what is ?
: two 1s is a majority so , but an even count means parity 0 so — the classic case where Sum and Carry disagree.
Full adder with all inputs 1 — why is Sum 1 rather than 0?
Three 1s is an odd count, so parity is 1; while too, giving .
If exactly one of the three full-adder inputs is 1, what happens to ?
— a single 1 is never a majority of three, so no carry spills out regardless of which input it is.
In a ripple-carry adder, what is the of the very first (least-significant) stage?
0 for ordinary addition — there is no earlier column to carry from, so the chain starts clean.
Is there any input to a single full adder that makes while ?
Yes, only when all three inputs are 1: majority gives and odd parity gives , i.e. .
If you accidentally tie a full adder's permanently to 1, what does it compute?
The value in ordinary arithmetic — it always adds an extra 1, which is exactly the trick used to start a subtractor chain, but wrong for plain addition.

Connections