Skip to content
BetterDL

Full adder

Also called: FA

A circuit that adds three bits (A, B and a carry-in) and outputs a sum S = A ⊕ B ⊕ Cin and a carry-out Cout = AB + ACin + BCin.

A full adder adds three bits: A, B, and the carry in from the column to its right. The total is 0 to 3, so two outputs are enough: the sum bit S and the carry out Cout. Read as a 2-bit number, Cout S is the count of 1s among the inputs.

In expressions, this course writes the carry-in as C, since variable names must be single letters.

  • S = . S is the low bit of the count, so it's 1 when an odd number of inputs are 1: odd parity. Its K-map is a checkerboard, so it can't be simplified, and adders always build S from XOR gates.
  • Cout = . Cout is 1 when at least two inputs are 1, the majority of the three.

An equivalent carry form splits the two ways a carry can happen: . Either A and B are both 1 (the column generates a carry), or exactly one of them is 1 and the carry-in pushes the column to 2 (the column propagates it). That form is what you get from two half adders and an OR, and it leads straight to the generate and propagate signals.

One full adder per bit, with each carry-out wired to the next carry-in, makes a ripple carry adder.

S
00000
00110
01010
01101
10010
10101
11001
11111

Worked example

Example

Count the ones

Every row of the table is just the number of 1s, written in binary as Cout S.

ABCSCout
  1. 1.

    A = 1, B = 0, C = 1: two 1s, so Cout S = 10. S = 0, Cout = 1.

  2. 2.

    Check with the formulas: S = 1 ⊕ 0 ⊕ 1 = 0. Cout = 1·0 + 1·1 + 0·1 = 1.

  3. 3.

    A = 1, B = 1, C = 0: also two 1s, so again S = 0, Cout = 1.

  4. 4.

    A = 0, B = 0, C = 1: one 1, so S = 1, Cout = 0.

Common mistakes

  • Using OR for S. The sum must be 0 when two inputs are 1.

  • Writing Cout = . With A = B = 0 and C = 1 the count is 1, so there's no carry, but that formula gives 1.

  • Thinking a full adder needs three outputs. Three bits add up to at most 3, which fits in two.

Practice Full adder

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

Learn it step by step

Full adder is taught in Adders and ALUs.