The half subtractor is a digital circuit that subtracts two single bit binary numbers and outputs the difference and borrow. It contains two inputs, A and B, and two outputs, Diff and Borrow. The Diff output is the difference of A and B, calculated as A XOR B. The Borrow output is 1 only when A is 1 and B is 0, calculated as A'B. The full subtractor expands on this to subtract three 1-bit numbers by adding a third input, Borrowin, and producing Diff and Borrow outputs based on all input combinations.