Skip to content
BetterDL

Two-half-adder full adder

Also called: full adder from half adders, full adder from two half adders

A full adder made from two half adders and an OR gate: the first adds A and B, the second adds the carry-in, and the OR merges their carries.

A full adder adds three bits. You can do that in two steps with half adders: add two of the bits, then add the third to the result.

  1. Half adder 1 adds A and B: sum , carry .
  2. Half adder 2 adds that sum and the carry-in C: sum S = , carry .
  3. An OR gate merges the two carries: Cout = .

That's 5 gates: XOR, AND, XOR, AND, OR.

Why is OR enough, rather than another adder? The two carries can never both be 1. Half adder 1 carries only when A = B = 1, but then = 0, and half adder 2 is adding 0 + C, which can't carry. Since they never clash, an XOR would also work for the merge, but OR is the usual choice.

The internal signals have names you'll meet again: is the propagate signal and is the generate signal (generate and propagate). This structure is the starting point for carry-lookahead.

ABCSCout

Worked example

Example

Tracing A = 1, B = 0, C = 1

Follow the signals through both half adders.

  1. 1.

    Half adder 1: 1 + 0 → sum 1, carry 0.

  2. 2.

    Half adder 2: 1 + 1 → sum 0, carry 1.

  3. 3.

    OR: 0 + 1 = 1, so Cout = 1.

  4. 4.

    Output Cout S = 10 = 2, and 1 + 0 + 1 = 2.

Common mistakes

  • Using a third half adder to combine the carries. An OR is enough.

  • Thinking both half adders can carry at once.

  • Feeding A into the second half adder instead of the first half adder's sum.

Practice Two-half-adder full adder

Interactive questions with instant feedback and a worked solution for every wrong answer.

Learn it step by step

Two-half-adder full adder is taught in Adders and ALUs.