Skip to content
BetterDL

Carry

Also called: carry bit

The 1 that moves into the next column when a column's sum is too big for one digit. In binary, a column carries when its total reaches 2.

A carry is what happens when a column of an addition fills up. The column keeps the part that fits and passes 1 to the next column on the left.

In decimal a column carries when it reaches 10. In binary, a column can only hold 0 or 1, so it carries when the total reaches 2. A binary column adds at most three bits (two operand bits plus the carry from the right), so there are just four cases:

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

Read the pair as a 2-bit number, carry first, and you have the column's total. That's exactly what a full adder outputs. The carry is 1 when at least two of the three inputs are 1.

Names to know:

The same idea works in any base: hex addition carries at 16.

00000
00110
01010
01101
10010
10101
11001
11111

Worked example

Example

Tracking carries in 1011 + 0111

11 + 7, column by column from the right.

  1. 1.

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

  2. 2.

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

  3. 3.

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

  4. 4.

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

  5. 5.

    The last carry becomes a fifth bit: 10010 = 18 = 11 + 7.

Common mistakes

  • Writing 2 in a binary column. 1 + 1 is 10₂: write 0, carry 1.

  • Forgetting the incoming carry when a column holds 1 + 1: with the carry it's 1 + 1 + 1, so write 1 and carry 1.

  • Confusing a carry with overflow. Carries between columns are normal; only the carry-out of the top column can signal unsigned overflow.

Practice Carry

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

Learn it step by step

Carry is taught in Number Systems and Adders and ALUs.