How do we add two numbers using logic gates?
Suppose you have
The result of adding
#(a ^^ b ^^ c) vv (a ^^ not b ^^ not c) vv (not a ^^ b ^^ not c) vv (not a ^^ not b ^^ c)#
In fact, if you denote exclusive or by
#a o+ b o+ c#
In logic gates this looks like:
The overflow/carry bit resulting from adding
#(a ^^ b) vv (a ^^ c) vv (b ^^ c)#
In logic gates this expression could be implemented like this:
The combination of these two arrangements of logic gates implement a
When you add two binary numbers using long addition, for each column (starting from the rightmost column) take
Then the two complex operations we found will give you the result digit and the carry digit for the next column.
To add more than one binary column at a time, you can chain as many one bit adders as you require together.