| Full adder | |||||||||||||
| In order to perform true addition, we need to use the carry from the previous result | |||||||||||||
| Full adder | |||||||||||||
| Data inputs: x, y, cin (carry in) | |||||||||||||
| Data outputs: s, cout (carry out) | |||||||||||||
| Truth table | |||||||||||||
| x | y | cin | s | cout | |||||||||
| 0 | 0 | 0 | 0 | 0 | |||||||||
| 0 | 0 | 1 | 1 | 0 | |||||||||
| 0 | 1 | 0 | 1 | 0 | |||||||||
| 0 | 1 | 1 | 0 | 1 | |||||||||
| 1 | 0 | 0 | 1 | 0 | |||||||||
| 1 | 0 | 1 | 0 | 1 | |||||||||
| 1 | 1 | 0 | 0 | 1 | |||||||||
| 1 | 1 | 1 | 1 | 1 | |||||||||