A half adder and full adder are types of adders used in digital circuits. A half adder adds two binary digits and produces a sum and carry output. It uses two logic gates. A full adder adds three binary digits - two input bits and a carry input - and produces a sum and carry output. It can be implemented using two cascaded half adders and an OR gate. The main difference is that a full adder has three inputs and two outputs, allowing multiple full adders to be chained together to add more bits, while a half adder only adds two bits.