Skip to content
BetterDL

Binary addition

Also called: adding binary numbers, binary sum

Adding binary numbers column by column from the right, carrying 1 into the next column whenever a column's total reaches 2.

Binary addition is the column addition you learned at school, with a smaller base. Start at the right, add each column, and carry into the next column when the total doesn't fit in one digit.

A binary digit only holds 0 or 1, so any column total of 2 or more carries. Including the carry from the right, a column adds at most three bits:

  • 0 + 0 = 0
  • 0 + 1 = 1
  • 1 + 1 = 2 = 10₂: write 0, carry 1
  • 1 + 1 + 1 = 3 = 11₂: write 1, carry 1

Write each carry above the next column so you don't lose it.

In hardware, this one-column job is a full adder, and a chain of them is a ripple carry adder. When the numbers have a fixed width, a carry out of the top column has nowhere to go: that's the carry out. For unsigned numbers it means the sum didn't fit (unsigned overflow).

The same procedure adds twos complement numbers with no changes. Only the overflow check differs.

Worked example

Example

1101₂ + 0111₂ (13 + 7)

Right to left, tracking the carry.

1
16
0
8
1
4
0
2
0
1
  1. 1.

    Bit 0: 1 + 1 = 10₂. Write 0, carry 1.

  2. 2.

    Bit 1: 0 + 1 + 1 = 10₂. Write 0, carry 1.

  3. 3.

    Bit 2: 1 + 1 + 1 = 11₂. Write 1, carry 1.

  4. 4.

    Bit 3: 1 + 0 + 1 = 10₂. Write 0, carry 1.

  5. 5.

    With the final carry: 10100 = 16 + 4 = 20 = 13 + 7.

Common mistakes

  • Writing 2 in a column instead of 0 with a carry.

  • Forgetting the carry when a column holds 1 + 1 + 1.

  • Dropping the final carry when the question asks for the full result.

Practice Binary addition

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

Learn it step by step

Binary addition is taught in Number Systems and Adders and ALUs.