In digital logic circuits, adders are essential for performing binary addition. A half adder and a full adder are both combinational logic circuits that perform the addition of binary numbers. Let's look at both in detail.
A half adder is a basic digital circuit that adds two single-bit binary numbers. It has two inputs and two outputs:
| Input A | Input B | Sum (S) | Carry (C) |
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 0 | 1 | 1 | 0 |
| 1 | 0 | 1 | 0 |
| 1 | 1 | 0 | 1 |
Diagram of Half Adder:
A ───┐
│
│ XOR ─── Sum
B ───┘──────┐
│
│ AND ─── Carry
└──────────┘
A full adder is a more advanced circuit that adds three binary bits. It has three inputs:
It produces two outputs:
| A | B | Cin | Sum (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 |
The full adder can be constructed using:
Diagram of Full Adder:
A ───┐
│
│ XOR ─── Sum
B ───┘──────┐
│
┌──────┴──────┐
│ │
│ │
Cin ───┘ AND ─── Cout
│
OR
│
└─ Carry out
| Feature | Half Adder | Full Adder |
|---|---|---|
| Inputs | 2 inputs (A and B) | 3 inputs (A, B, Cin) |
| Outputs | 2 outputs (Sum and Carry) | 2 outputs (Sum and Carry out) |
| Carry Input | No carry input (only A and B) | Has carry input (Cin) |
| Used In | Simple binary addition | Multi-bit binary addition (used in chained adders) |
| Complexity | Simple design with basic gates | More complex, requires XOR, AND, OR gates |
In multi-bit binary addition, full adders are used in a cascaded manner to add multiple bits. Each full adder adds two corresponding bits from the input binary numbers and a carry input from the previous full adder. The carry output of each full adder is passed as the carry input to the next full adder.
For example, to add two 4-bit binary numbers:
A3 A2 A1 A0
+ B3 B2 B1 B0
---------------
S3 S2 S1 S0 (Sum)
Carry Out
Open this section to load past papers