This document discusses half adders and full adders used in digital circuits. A half adder accepts two binary digits as input and produces a sum and carry bit as output using one XOR and one AND gate. A full adder accepts three inputs - two bits to be added and a carry in bit - and produces a sum and carry out bit using two half adders and an OR gate. The main difference between them is that a full adder can add three bits while a half adder can only add two bits.