An application of full adders
We started by looking at half adders, which added just two bits. We then moved on to understanding how to add a far more useful three bits in a design called a 'full adder'. We saw that there are a number of ways of implementing this design and now we will take a brief look at an application of it.
We saw in the full adder section that there were different ways to design a full adder using logic gates. They all work in the same way, so we can actually put the design inside a black box to use it. We don't really need to know how a full adder was designed to be able to design uses for it. Here is the logic gate design using two half adders and an OR gate:
If we put this design inside a black box, we now have:
This is an example of 'abstraction', where we take something that is quite complicated and 'hide' the details in a simplified model, leaving something that is much easier to understand and a lot easier to use.
We have two inputs as before, A and B, plus a third input, which is the carry from a previous addition. The component generates a Sum and a Carry, which we will call Cout. We can now think of this as a single component. We know how it works but what goes on inside the component is not of interest to us. If we connected four of these components together, then we can start adding binary numbers that are any length long. We can do this, because we add binary numbers in columns, and we can feed the carry out from one component into the Cin of the next component. Here is a model of a 4 bit adder:
Take note that in the very first addition in the full adder on the right hand side, there is no carry so that input is always forced to be zero. We could now go out and buy four full adder components, wire them up in the way that you can see in the design and use it to add any four bit numbers together, such as this:
This design is very simple and relatively easy to understand. In computing terms, it is quite slow and there are better designs available. Perhaps you could see if you could find some on the Internet.