A half adder is a device that can add two bits and returns the value, along with a carry value. The difference between a half adder and a full adder is that a half adder only accepts two bits, while a full adder adds two bits and a carry, so full adders are needed for ALU's.
Truth Table[]
A | B | S | C |
0 | 0 | 0 | 0 |
0 | 1 | 1 | 0 |
1 | 0 | 1 | 0 |
1 | 1 | 0 | 1 |
Logic[]
The XOR Gate is responsible for finding the sum without worrying about a carry. XOR works here because if A and B are the same, then it will return 0, and if the values are different (one is a 1, one is a 0), then it will return a 1. The AND Gate is there to handle the carry. If both A and B are 1, the XOR gate will return 0, but the AND gate will differentiate if it is (0,0) or (1,1) and have a carry value if it is the latter.