A half subtractor and a full subtractor are combinational circuits that perform binary subtraction, the counterpart of the half and full adder. The half subtractor subtracts two single bits; the full subtractor also accounts for a borrow coming in from a lower bit position, so it can be chained to subtract multi-bit numbers. This guide gives the truth tables, Boolean expressions and gate implementations.
Half subtractor
Subtracts bit B from bit A, producing a Difference (D) and a Borrow (Bout). A borrow is generated when A = 0 and B = 1.
| A | B | Difference D | Borrow Bout |
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 0 | 1 | 1 | 1 |
| 1 | 0 | 1 | 0 |
| 1 | 1 | 0 | 0 |
Boolean expressions:
D = A ⊕ B(XOR)Bout = A' · B
Full subtractor
Subtracts bit B and an incoming borrow (Bin) from bit A, producing a Difference and an outgoing Borrow. This lets subtractors cascade across all bit positions of a number.
| A | B | Bin | Difference D | Borrow Bout |
|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 |
| 0 | 0 | 1 | 1 | 1 |
| 0 | 1 | 0 | 1 | 1 |
| 0 | 1 | 1 | 0 | 1 |
| 1 | 0 | 0 | 1 | 0 |
| 1 | 0 | 1 | 0 | 0 |
| 1 | 1 | 0 | 0 | 0 |
| 1 | 1 | 1 | 1 | 1 |
Boolean expressions:
D = A ⊕ B ⊕ BinBout = A'·B + A'·Bin + B·Bin
Half vs full subtractor
| Feature | Half subtractor | Full subtractor |
|---|---|---|
| Inputs | 2 (A, B) | 3 (A, B, Bin) |
| Outputs | Difference, Borrow | Difference, Borrow |
| Handles incoming borrow? | No | Yes |
| Cascadable for n-bit? | No | Yes |
Relationship to the adder
In practice, most hardware does not build dedicated subtractors. Instead it adds the two’s complement of the subtrahend using the existing adder, so one datapath handles both addition and subtraction. Dedicated subtractors are mainly a teaching tool and appear in some specialized arithmetic blocks.
FAQs on subtractors
What is the difference between a half and a full subtractor?
A half subtractor has two inputs (A, B) and ignores any incoming borrow. A full subtractor has three inputs (A, B, Bin), so it accounts for a borrow from the previous stage and can be cascaded for multi-bit subtraction.
What are the outputs of a full subtractor?
Difference (D = A ⊕ B ⊕ Bin) and Borrow out (Bout = A’B + A’Bin + B·Bin).
Can a full subtractor be built from half subtractors?
Yes — two half subtractors plus an OR gate form a full subtractor, the same way two half adders plus an OR gate form a full adder.
Why do real chips subtract using adders?
Adding the two’s complement of a number is equivalent to subtracting it, so one adder handles both operations and saves hardware.
Learn digital arithmetic and its RTL in ChipXpert’s RTL Design course. Related: full & half adder, logic gates.
Related digital electronics topics
- JK Flip-Flop: Truth Table & Working
- T Flip-Flop: Truth Table & Circuit
- D Flip-Flop & D Latch
- SR Latch (NAND & NOR)
- Karnaugh Map (K-Map)
- Full Adder & Half Adder
- Universal Gates: NAND & NOR
- Finite State Machines (FSM)
- Sequential Circuits
- Shift Registers (SISO/SIPO/PISO/PIPO)
- 4:1 Multiplexer
- Encoders & Decoders
- Binary to Gray Code Conversion
- One's & Two's Complement
- Counters in Digital Electronics
- Demultiplexer (DEMUX)
- Logic Gates: Types & Truth Tables
- Boolean Algebra & De Morgan's Theorem
- Number Systems (Binary, Octal, Hex)
- Combinational Circuits
- Latch vs Flip-Flop
- Setup Time & Hold Time
- Master-Slave Flip-Flop
- Ring Counter & Johnson Counter
- Digital Comparator
Share your question in comments or talk to our mentor team for batch guidance.
Ask the Admin Team
Drop your basic question in comments: eligibility, prerequisites, tools, fee range, and placement support.
Our team reviews and responds regularly.
