This presentation describes the implementation of integer addition and subtraction. Before discussing the implementation it is first necessary to understand the 2's complement representation of signed integers. This representation is used by all modern computers. At least a part of the reason is the fact that addition and subtraction work the same way for 2's complement signed numbers as for unsigned binary numbers.

Simple implementations for addition and subtraction use a ripple-carry adder. High performance implementations use Lookahead Carry.

The last topic to be considered is errors. Any implementation of addition and subtraction has the possibility of errors due to results too large to represent in a limited number of bits. The error indications are different for unsigned and signed numbers.

Signed and unsigned addition and subtraction can be implemented with relatively simple circuitry. This circuitry is slow due to ripple carry.

A *full adder* (labeled **FA** in the diagram below) is a
logic circuit for performing one column of an addition.
It has three inputs, two (X and Y below) for summand bits and one (Ci
below) for a carry from the column to the right.
Its outputs are a sum (S below) and carry (Co below) for the column to
the left.
This diagram shows 4 full adders connected to compute a 4-bit sum.