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 Boolean expressions
x y cin s cout
0 0 0 0 0 s = \x\ycin + \xy\cin
0 0 1 1 0  + x\y\cin + xycin
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