An adder is a digital circuit that performs addition of numbers. There are two main types of adders: half adders and full adders. A half adder accepts two binary digits as input and produces a sum and carry bit as output. A full adder accepts two input bits and an input carry, and generates a sum output and output carry. Full adders are used to build adders that can add more than two bits by chaining multiple full adders together. Subtractors operate on similar principles to adders but use an inverted input to perform subtraction.