Le soustracteur binaire est un autre type de circuit arithmétique combinatoire qui produit une sortie qui est la soustraction de deux nombres binaires.
Comme leur nom l’indique, un soustracteur binaire est un circuit de prise de décision qui soustrait deux nombres binaires l’un de l’autre, par exemple, X – Y pour trouver la différence résultante entre les deux nombres.
Contrairement à l’additionneur binaire qui produit une SOMME et un bit de CARRIAGE lorsque deux nombres binaires sont additionnés, le soustracteur binaire produit une DIFFÉRENCE, D, en utilisant un bit d’EMPRUNT, B à partir de la colonne précédente. Il est donc évident que l’opération de soustraction est l’opposée de celle de l’addition.
Nous avons appris dans nos leçons de mathématiques à l’école que le signe moins, “–” est utilisé pour un calcul de soustraction, et lorsqu’un nombre est soustrait d’un autre, un emprunt est nécessaire si le soustrayé est supérieur au minuend. Considérons la soustraction simple des deux nombres décimaux (base 10) ci-dessous.
123 | X | (Minuend) |
– 78 | Y | (Soustrayé) |
45 | DIFFÉRENCE |
Nous ne pouvons pas soustraire directement 8 de 3 dans la première colonne car 8 est supérieur à 3, donc nous devons emprunter un 10, le nombre de base, à partir de la colonne suivante et l’ajouter au minuend pour produire 13 moins 8. Ce “10 emprunté” est ensuite retourné au soustrayé de la colonne suivante une fois la différence trouvée. Simple mathématiques scolaires, emprunter un 10 si nécessaire, trouver la différence et retourner l’emprunt.
La soustraction d’un nombre binaire d’un autre est exactement la même idée que celle de soustraire deux nombres décimaux, mais comme le système de numération binaire est un système de numération de base 2 qui utilise “0” et “1” comme ses deux chiffres indépendants, les grands nombres binaires à soustraire l’un de l’autre sont donc représentés en termes de “0 et 1”.
Soustraction Binaire
La soustraction binaire peut prendre plusieurs formes, mais les règles pour la soustraction restent les mêmes quel que soit le processus que vous utilisez. Comme la notation binaire n’a que deux chiffres, soustraire un “0” d’un “0” ou un “1” laisse le résultat inchangé puisque 0-0 = 0 et 1-0 = 1. Soustraire un “1” d’un “1” donne un “0”, mais soustraire un “1” d’un “0” nécessite un emprunt. En d’autres termes, 0 – 1 nécessite un emprunt.
Soustraction Binaire de Deux Bits
0 | 1 | 1 | (emprunt) 1 → 0 |
– 0 | – 0 | – 1 | – 1 |
0 | 1 | 0 | 1 |
Pour le problème simple de soustraction de 1 bit ci-dessus, si le bit d’emprunt est ignoré, le résultat de leur soustraction binaire ressemble à celui d’une porte Exclusive-OR. Pour éviter toute confusion dans ce tutoriel entre un bit d’entrée de soustracteur binaire étiqueté B et le bit de sortie d’emprunt résultant de la même étiquette B, nous étiquetons les deux bits d’entrée comme X pour le minuend et Y pour le soustrayé. Par conséquent, la table de vérité résultante est que la différence entre les deux bits d’entrée d’un soustracteur binaire unique est donnée comme suit :
Porte Exclusive-OR à 2 entrées
Symbole | Table de Vérité | ||
![]() |
Y | X | Q |
0 | 0 | 0 | |
0 | 1 | 1 | |
1 | 0 | 1 | |
1 | 1 | 0 |
Comme avec l’additionneur binaire, la différence entre les deux chiffres est seulement “1” lorsque ces deux entrées ne sont pas égales, comme indiqué par l’expression Ex-OR. Cependant, nous avons besoin d’une sortie supplémentaire pour produire le bit d’emprunt lorsque l’entrée X = 0 et Y = 1. Malheureusement, il n’existe aucune porte logique standard qui produira une sortie pour cette combinaison particulière d’entrées X et Y.
Mais nous savons qu’une porte ET produit une sortie “1” lorsque ses deux entrées X et Y sont “1” (ÉLEVÉE) donc si nous utilisons un inverseur ou porte NON pour compléter l’entrée X avant qu’elle soit transmise à la porte ET, nous pouvons produire la sortie d’emprunt requise lorsque X = 0 et Y = 1, comme montré ci-dessous.
Ensuite, en combinant la porte Exclusive-OR avec la combinaison NON-ET résulte en un circuit de soustracteur binaire numérique simple communément connu sous le nom de Demisoustracteur.
Circuit d’un DemiSoustracteur Binaire
Un demi-soustracteur est un circuit logique qui effectue une opération de soustraction sur deux chiffres binaires. Le demi-soustracteur produit une somme et un bit d’emprunt pour l’étape suivante.
DemiSoustracteur avec Emprunt Sortant
Symbole | Table de Vérité | |||
![]() |
Y | X | DIFFÉRENCE | EMPRUNT |
0 | 0 | 0 | 0 | |
0 | 1 | 1 | 0 | |
1 | 0 | 1 | 1 | |
1 | 1 | 0 | 0 |
À partir de la table de vérité du demi-soustracteur, nous pouvons voir que la DIFFÉRENCE (D) est le résultat de la porte Exclusive-OR et l’Emprunt Sortant (Bout) est le résultat de la combinaison NON-ET. Donc, l’expression booléenne pour un demi-soustracteur est la suivante.
Pour le bit de DIFFÉRENCE :
D = X XOR Y = X ⊕ Y
Pour le bit de EMPRUNT
B = non-X ET Y = X.Y
Si nous comparons les expressions booléennes du demi-soustracteur avec celles d’un demi-adder, nous pouvons voir que les deux expressions pour la SOMME (additionneur) et la DIFFÉRENCE (soustracteur) sont exactement les mêmes et cela devrait être le cas en raison de la fonction de la porte Exclusive-OR. Les deux expressions booléennes pour le BORROW du soustracteur binaire sont également très similaires à celles des CARRY des additionneurs. Ainsi, tout ce qu’il faut pour convertir un demi-adder en un demi-soustracteur est l’inversion de l’entrée du minuend X.
Un inconvénient majeur du circuit DemiSoustracteur lorsqu’il est utilisé comme soustracteur binaire, est qu’il n’y a pas de disposition pour un “Emprunt-in” en provenance du circuit précédent lors de la soustraction de plusieurs bits de données. Nous avons donc besoin de produire ce qu’on appelle un circuit de “soustracteur binaire complet” pour tenir compte de cette entrée d’emprunt provenant d’un circuit précédent.
Circuit d’un Soustracteur Binaire Complet
La principale différence entre le Soustracteur Complet et le précédent DemiSoustracteur est qu’un soustracteur complet a trois entrées. Les deux entrées de données par bits uniques X (minuend) et Y (soustrayé) comme précédemment, plus une entrée Emprunt-in (B-in) supplémentaire pour recevoir l’emprunt généré par le processus de soustraction d’un stade précédent comme montré ci-dessous.
Diagramme de Bloc d’un Soustracteur Binaire Complet
Ensuite, le circuit combinatoire d’un “soustracteur complet” effectue l’opération de soustraction sur trois bits binaires produisant des sorties pour la différence D et l’emprunt B-out. Tout comme le circuit d’additionneur binaire, le soustracteur complet peut également être considéré comme deux demi-soustracteurs connectés ensemble, le premier demi-soustracteur transmettant son emprunt au deuxième demi-soustracteur comme suit.
Diagramme de Logique du Soustracteur Binaire Complet
Alors que le circuit soustracteur complet ci-dessus représente deux demi-soustracteurs en cascade, la table de vérité pour le soustracteur complet aura huit combinaisons d’entrées différentes car il y a trois variables d’entrée, les bits de données et l’entrée Emprunt-in, BIN. Inclut également la sortie de la différence, D et le bit d’emprunt, BOUT.
Table de Vérité du Soustracteur Complet
Symbole | Table de Vérité | ||||
![]() |
B-in | Y | X | Diff. | B-out |
0 | 0 | 0 | 0 | 0 | |
0 | 0 | 1 | 1 | 0 | |
0 | 1 | 0 | 1 | 1 | |
0 | 1 | 1 | 0 | 0 | |
1 | 0 | 0 | 1 | 1 | |
1 | 0 | 1 | 0 | 0 | |
1 | 1 | 0 | 0 | 1 | |
1 | 1 | 1 | 1 | 1 |
Alors l’expression booléenne pour un soustracteur complet est la suivante.
Pour le bit de DIFFÉRENCE (D) :
D = (X.Y.BIN) + (X.Y.BIN) + (X.Y.BIN) + (X.Y.BIN)
qui peut également être simplifiée :
D = (X XOR Y) XOR BIN = (X ⊕ Y) ⊕ BIN
Pour le bit de BORROW OUT (BOUT) :
BOUT = (X.Y.BIN) + (X.Y.BIN) + (X.Y.BIN) + (X.Y.BIN)
qui sera aussi simplifiée :
BOUT = X ET Y OU (X XOR Y)BIN = X.Y + (X ⊕ Y)BIN
Un Soustracteur Binaire de n bits
Comme avec l’additionneur binaire, nous pouvons également avoir n nombre de soustracteurs binaires complets par bit connectés ou “cascadés” ensemble pour soustraire deux nombres n bits parallèles l’un de l’autre. Par exemple, deux nombres binaires de 4 bits. Nous avons dit précédemment que la seule différence entre un additionneur complet et un soustracteur complet était l’inversion de l’une des entrées.
Ainsi, en utilisant un additionneur n bits et n nombre d’inverseurs (Porte NOT), le processus de soustraction devient une addition car nous pouvons utiliser la notation du complément à deux sur tous les bits du soustrayé et régler l’entrée de transport du bit de poids le plus faible à “1” logique (ÉLEVÉE).
Soustracteur Binaire utilisant le Complément à Deux
Ensuite, nous pouvons utiliser des circuits intégrés d’additionneur 4 bits tels que le 74LS283 et le CD4008 pour effectuer une soustraction simplement en utilisant le complément à deux sur les entrées du soustrayé, B, car X – Y est le même que de dire X + (-Y) ce qui équivaut à X plus le complément à deux de Y.
Si nous souhaitons utiliser à nouveau l’additionneur 4 bits pour addition, tout ce que nous devons faire est de régler l’entrée de transport (CIN) à UN LOGIQUE “0”. Puisque nous pouvons utiliser le circuit intégré additionneur 4 bits tel que le 74LS83 ou le 74LS283 comme un additionneur complet ou un soustracteur complet, ils sont disponibles comme un circuit unique d’additionneur/soustracteur avec une seule entrée de contrôle pour sélectionner entre les deux opérations.