A full-adder circuit is a digital circuit used in computer systems and digital logic to perform arithmetic addition on binary numbers. It takes three inputs: two binary digits to be added, usually referred to as A and B, and a carry input (Cin) from a previous stage of addition. The circuit generates two outputs: the sum (S) and a carry output (Cout) that will be propagated to the next stage of addition.
The truth table for a full-adder is as follows:
A B Cin Sum (S) Carry-out (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
The full-adder performs addition with the consideration of the carry bit from the previous stage, allowing it to handle multi-bit addition when cascaded together. This property makes it an essential building block for more complex arithmetic operations and data processing in digital systems.
The logic diagram for a full-adder is constructed using basic logic gates such as AND, OR, and XOR gates. Here's a representation of a full-adder:
lua
Copy code
_______
A --| |
| |------ S (Sum)
B --| Full |
Cin --| Adder |
| |------ Cout (Carry-out)
|_______|
In this diagram, A and B are the input bits to be added, and Cin is the carry-in from the previous stage (initialized to 0 for the least significant bit). S represents the sum output, and Cout represents the carry-out, which will be fed as Cin to the next full-adder in a multi-bit addition scenario.