A full subtractor is a combinational circuit that performs subtraction of three bits. This circuit has three inputs the minuend A, subtrahend B, and borrow in B_{in}. B_{in} is the borrow of the previous adjacent lower minuend bit. This B_{in} is also subtracted from A-B. A full subtractor has two outputs, D and B_{out}, represents Difference and Borrow Out respectively.

Truth table of a full subtractor is,

A | B | B_{in} | D | B_{out} |
---|---|---|---|---|

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 |

The logic expression for full subtractor can be derived from the truth table using the K-Map technique.

Expression for B_{out} can be again simplified as follows

These expressions can be implemented using two XOR gates, two AND gates and one OR gate as follows