Portes logiques en Python - Un guide convivial pour les débutants
Cet article couvre de manière exhaustive les différentes portes logiques en Python. Les portes logiques sont les matériaux les plus basiques pour mettre en œuvre des composants numériques. L'utilisation des portes logiques s'étend de l'architecture des ordinateurs au domaine de l'électronique.
Ces portes traitent des valeurs binaires, soit 0 soit 1. Différents types de portes prennent différents nombres d'entrées, mais toutes fournissent une seule sortie. Ces portes logiques, lorsqu'elles sont combinées, forment des circuits compliqués.
Essayons d'implémenter des portes logiques en langage Python.
Portes logiques de base en Python
Il y a trois portes logiques les plus fondamentales dans le développement de circuits.
Porte OU
Cette porte fournit la sortie de 1 si l'un des entrées est 1. Elle est similaire à une opération d'« addition », par rapport aux nombres binaires.
La table affichée ci-dessus est la table de vérité. Elle est utilisée pour montrer toutes les combinaisons de valeurs pour les entrées d'une porte 'OU'. La figure à côté de la table représente une porte 'OU'.
Mise en œuvre en Python :
Function to simulate OR Gate
def OR(A, B):
return A | B
print("Output of 0 OR 0 is", OR(0, 0))
print("Output of 0 OR 1 is", OR(0, 1))
print("Output of 1 OR 0 is", OR(1, 0))
print("Output of 1 OR 1 is", OR(1, 1))
Nous obtenons la sortie suivante :
Output of 0 OR 0 is 0
Output of 0 OR 1 is 1
Output of 1 OR 0 is 1
Output of 1 OR 1 is 1
Porte ET
Cette porte produit une sortie de 0 si l'un des entrées est 0. Cette opération est considérée comme une multiplication dans les nombres binaires.
Nous pouvons voir dans la table de vérité que chaque fois que l'un des deux entrées est 0, la sortie est également 0. La figure à côté représente la porte 'ET'.
Mise en œuvre en Python :
Function to simulate AND Gate
def AND(A, B):
return A & B
print("Output of 0 AND 0 is", AND(0, 0))
print("Output of 0 AND 1 is", AND(0, 1))
print("Output of 1 AND 0 is", AND(1, 0))
print("Output of 1 AND 1 is", AND(1, 1))
Sortie :
Output of 0 AND 0 is 0
Output of 0 AND 1 is 0
Output of 1 AND 0 is 0
Output of 1 AND 1 is 1
Porte NON
Cette porte fournit la négation de l'entrée donnée. Cette porte ne prend en charge qu'une seule entrée.
Le tableau ci-dessus affiche clairement l'inversion des bits. La figure adjacente représente la porte 'NOT'.
Implémentation Python d'une porte NOT binaire :
Function to simulate NOT Gate
def NOT(A):
return ~A+2
print("Output of NOT 0 is", NOT(0))
print("Output of NOT 1 is", NOT(1))
Sortie :
Output of NOT 0 is 1
Output of NOT 1 is 0
Remarque : La fonction
'NOT()'fournit des résultats corrects pour les valeurs binaires 0 et 1.
Portes logiques universelles en Python
Il existe deux portes logiques universelles, 'NAND' et 'NOR'. Elles sont appelées universelles car tout circuit booléen peut être réalisé en utilisant uniquement ces portes.
Porte NAND
La porte 'NAND' est une combinaison de la porte 'AND' suivie de la porte 'NOT'. Contrairement à la porte 'AND', elle fournit une sortie de 0 seulement lorsque les deux bits sont à 1, sinon elle retourne 1.
En Python, la fonction 'NAND()' peut être implémentée en utilisant les fonctions 'AND()' et 'OR()' créées auparavant.
Function to simulate AND Gate
def AND(A, B):
return A & B;
Function to simulate NOT Gate
def NOT(A):
return ~A+2
Function to simulate NAND Gate
def NAND(A, B):
return NOT(AND(A, B))
print("Output of 0 NAND 0 is", NAND(0, 0))
print("Output of 0 NAND 1 is", NAND(0, 1))
print("Output of 1 NAND 0 is", NAND(1, 0))
print("Output of 1 NAND 1 is", NAND(1, 1))
Nous obtenons la sortie suivante :
Output of 0 NAND 0 is 1
Output of 0 NAND 1 is 1
Output of 1 NAND 0 is 1
Output of 1 NAND 1 is 0
Porte NOR
La porte 'NOR' est le résultat de la mise en cascade d'une porte 'OR' suivie d'une porte 'NOT'. Contrairement à la porte 'OR', elle fournit une sortie de 1 lorsque toutes les entrées sont à 0.
Tout comme la fonction 'NAND()', la fonction 'NOR()' peut être implémentée en utilisant des fonctions déjà créées.
Function to calculate OR Gate
def OR(A, B):
return A | B;
Function to simulate NOT Gate
def NOT(A):
return ~A+2
Function to simulate NOR Gate
def NOR(A, B):
return NOT(OR(A, B))
print("Output of 0 NOR 0 is", NOR(0, 0))
print("Output of 0 NOR 1 is", NOR(0, 1))
print("Output of 1 NOR 0 is", NOR(1, 0))
print("Output of 1 NOR 1 is", NOR(1, 1))
Sortie :
Output of 0 NOR 0 is 1
Output of 0 NOR 1 is 0
Output of 1 NOR 0 is 0
Output of 1 NOR 1 is 0
Portes logiques exclusives en Python
Il existe deux types spéciaux de portes logiques, XOR et XNOR, qui se concentrent sur le nombre d'entrées de 0 ou 1, plutôt que sur des valeurs individuelles.
Porte XOR
Un acronyme pour Exclusive-OR, la porte 'XOR' fournit une sortie de 1 lorsque le nombre de 1 dans l'entrée est impair.
Nous pouvons clairement voir la sortie de la porte XOR dans le tableau ci-dessus. Elle fournit une sortie de 1 lorsque le nombre de uns dans l'entrée est 1, c'est-à-dire impair.
Nous pouvons implémenter facilement la fonction 'XOR()' en Python en :
Function to simulate XOR Gate
def XOR(A, B):
return A ^ B
print("Output of 0 XOR 0 is", XOR(0, 0))
print("Output of 0 XOR 1 is", XOR(0, 1))
print("Output of 1 XOR 0 is", XOR(1, 0))
print("Output of 1 XOR 1 is", XOR(1, 1))
Nous obtenons la sortie suivante :
Output of 0 XOR 0 is 0
Output of 0 XOR 1 is 1
Output of 1 XOR 0 is 1
Output of 1 XOR 1 is 0
Porte XNOR
Il est formé comme résultat de la combinaison des portes 'XOR' et 'NOT'. Contrairement à 'XOR', il fournit une sortie de 1 lorsque le nombre de 1 dans l'entrée est pair.
La fonction 'XNOR()' peut être implémentée en utilisant les fonctions 'XOR()' et 'NOT()' en Python.
Function to simulate XOR Gate
def XOR(A, B):
return A ^ B
Function to simulate NOT Gate
def NOT(A):
return ~A+2
Function to simulate XNOR Gate
def XNOR(A, B):
return NOT(XOR(A, B))
print("Output of 0 XNOR 0 is", XNOR(0, 0))
print("Output of 0 XNOR 1 is", XNOR(0, 1))
print("Output of 1 XNOR 0 is", XNOR(1, 0))
print("Output of 1 XNOR 1 is", XNOR(1, 1))
Sortie :
Output of 0 XNOR 0 is 1
Output of 0 XNOR 1 is 0
Output of 1 XNOR 0 is 0
Output of 1 XNOR 1 is 1
Conclusion
La mise en œuvre des portes logiques en Python est très facile. En tant que programmeur, vous devez être conscient des portes logiques et des opérateurs en Python. Nous espérons que cet article a éclairé le lecteur sur les bases et l'exécution des portes logiques en Python.
Pour plus de lectures, consultez nos autres tutoriels Python.







