Website-Suche

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.

ODER-Gatter

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.

UND-Gatter

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.

NICHT-Gatter

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.

NAND-Gatter

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.

NOR-Gatter

Ä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.

XOR-Gatter

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.

XNOR-Gatter

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.