The Simplest Arithmetic Circuit
The half adder is the simplest circuit that performs binary addition. It takes two 1-bit inputs — A and B — and produces two outputs: a sum bit (A XOR B) and a carry bit (A AND B). With just two gates, it computes 0+0=0, 0+1=1, 1+0=1, and 1+1=10 in binary. It's the atomic unit of all digital arithmetic.
Full Adder: Adding the Carry
The full adder extends the half adder by accepting a carry-in bit from a previous stage. It computes Sum = A XOR B XOR Cin, and Carry-out = (A AND B) OR (Cin AND (A XOR B)). This three-input design allows full adders to be chained together, each stage feeding its carry-out to the next stage's carry-in, forming a ripple-carry adder.
Ripple-Carry Adder
To add two N-bit numbers, N full adders are connected in series. The least significant bit's carry-in is 0, and each subsequent stage waits for the carry from the previous one. This ripple effect means the worst-case delay grows linearly with N — an 8-bit adder is 8 times slower than a 1-bit adder. For this reason, fast processors use parallel prefix adders.
Modern Adder Architectures
Real CPUs use carry-lookahead, carry-select, or Kogge-Stone adders that compute carries in O(log N) time instead of O(N). The carry-lookahead adder precomputes "generate" and "propagate" signals for each bit, then combines them in a tree structure. These designs use more gates but operate at multi-GHz frequencies — the price we pay for speed.