Logikgatter in Python - Ein einsteigerfreundlicher Leitfaden
Dieser Artikel behandelt umfassend die verschiedenen Logikgatter in Python. Logikgatter sind die grundlegendsten Elemente zur Implementierung digitaler Komponenten. Der Einsatz von Logikgattern reicht von der Computerarchitektur bis hin zum Bereich der Elektronik.
Diese Tore arbeiten mit binären Werten, entweder 0 oder 1. Verschiedene Arten von Toren verwenden unterschiedliche Anzahl von Eingängen, aber alle bieten einen einzigen Ausgang. Diese Logikgates bilden in Kombination komplizierte Schaltungen.
Lass uns versuchen, Logikgatter in Python umzusetzen.
Grundlegende Logikgatter in Python
Es gibt drei grundlegende Logikgatter in der Schaltungsentwicklung.
ODER-Gatter
Dieses Tor gibt als Ausgang 1 aus, wenn einer der Eingänge 1 ist. Es ähnelt einer “Addition”-Operation im Hinblick auf binäre Zahlen.
Die oben angezeigte Tabelle ist die Wahrheitstabelle. Sie wird verwendet, um alle Kombinationen von Werten für die Eingaben eines 'ODER'-Gates darzustellen. Die Abbildung neben der Tabelle bezeichnet ein 'ODER'-Gate.
Implementierung in 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))
Wir erhalten folgende Ausgabe:
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
UND-Gatter
Dieses Tor liefert einen Ausgang von 0, wenn einer der Eingänge 0 ist. Dieser Vorgang wird in binären Zahlen als Multiplikation betrachtet.
Wir können in der Wahrheitstabelle sehen, dass immer wenn einer der beiden Eingänge 0 ist, der Ausgang ebenfalls 0 ist. Die nebenstehende Abbildung bezeichnet das 'UND'-Tor.
Implementierung in 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))
Ausgabe :
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
NICHT-Gatter
Dieses Tor bietet die Negation des gegebenen Eingangs. Dieses Tor unterstützt nur einen einzigen Eingang.
Die obige Tabelle zeigt eindeutig die Umkehrung der Bits. Die angrenzende Abbildung stellt das 'NOT'Gatter dar.
Python-Implementierung der binären NOT-Gatter:
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))
Ausgabe :
Output of NOT 0 is 1
Output of NOT 1 is 0
Hinweis: Die
'NOT()'-Funktion liefert korrekte Ergebnisse für Bitwerte 0 und 1.
Universelle Logikgatter in Python
Es gibt zwei universelle Logikgatter, 'NAND' und 'NOR'. Sie werden universell genannt, weil jeder boolesche Schaltkreis nur mit diesen Gattern implementiert werden kann.
NAND-Gatter
Der 'NAND'-Gatter ist eine Kombination aus einem 'AND'-Gatter, gefolgt von einem 'NOT'-Gatter. Im Gegensatz zu dem 'AND'-Gatter liefert es ein Ausgangssignal von 0, nur wenn beide Bits gesetzt sind, andernfalls 1.
In Python kann die 'NAND()' Funktion unter Verwendung der zuvor erstellten 'AND()' und 'OR()' Funktionen implementiert werden.
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))
Wir erhalten folgende Ausgabe:
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
NOR-Gatter
Die 'NOR'-Tür ist das Ergebnis des Kaskadierens einer 'OR'-Tür, gefolgt von einer 'NOT'-Tür. Im Gegensatz zur 'OR'-Tür liefert sie ein Ausgangssignal von 1, wenn alle Eingänge 0 sind.
Ähnlich wie die Funktion 'NAND()' kann die Funktion 'NOR()' mit bereits erstellten Funktionen implementiert werden.
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))
Ausgabe :
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
Exklusive Logikgatter in Python
Es gibt zwei spezielle Arten von Logikgattern, XOR und XNOR, die sich auf die Anzahl der Eingaben von 0 oder 1 konzentrieren, anstatt auf einzelne Werte.
XOR-Gatter
Ein Akronym für Exclusive-OR, der 'XOR' Gatter liefert eine Ausgabe von 1, wenn die Anzahl der 1en im Eingang ungerade ist.
Wir können die Ausgabe für das XOR-Gatter in der obigen Tabelle deutlich sehen. Es liefert eine Ausgabe von 1, wenn die Anzahl der Einsen im Eingang 1 ist, das heißt, ungerade.
Wir können die 'XOR()'-Funktion einfach in Python implementieren, indem wir:
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))
Wir erhalten folgende Ausgabe:
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
XNOR-Gatter
Es entsteht durch die Kombination von 'XOR' und 'NOT' -Gattern. Im Gegensatz zu 'XOR' liefert es einen Ausgang von 1, wenn die Anzahl der 1en im Eingang gerade ist.
Die 'XNOR()'-Funktion kann in Python durch die Verwendung der 'XOR()'- und 'NOT()'-Funktionen implementiert werden.
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))
Ausgabe :
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
Schlussfolgerung
Die Implementierung von Logikgattern in Python ist sehr einfach. Als Programmierer sollte man sich der Logikgatter und Operatoren in Python bewusst sein. Wir hoffen, dass dieser Artikel dem Leser die Grundlagen und die Ausführung von Logikgattern in Python nähergebracht hat.
Für weitere Informationen, sehen Sie sich unsere anderen Python-Tutorials an.







