逻辑门:OR、AND、XOR、NOR、NAND、XNOR 和 NOT
逻辑门:OR、AND、XOR、NOR、NAND、XNOR 和 NOT
逻辑门是数字电路中的基本构建块,用于执行基本的逻辑运算。从简单的与门(AND)到复杂的异或非门(XNOR),这些逻辑门构成了计算机硬件和软件的基础。本文将通过Python代码示例和详细的解释,帮助读者理解这些基本逻辑门的工作原理。
基本逻辑门的Python实现
AND 门
如果两个输入均为 1,则 AND 门给出输出 1,否则给出 0。
def AND(a, b):
if a == 1 and b == 1:
return True
else:
return False
NAND 门
如果两个输入均为 1,则 NAND gate (negated AND)给出 0 的输出,否则给出 1。
def NAND(a, b):
if a == 1 and b == 1:
return False
else:
return True
OR 门
如果两个输入中的任何一个为 1,则 OR 门给出 1 的输出,否则给出 0。
def OR(a, b):
if a == 1 or b == 1:
return True
else:
return False
XOR 门
如果任一输入不同,则 XOR 门给出 1 的输出,如果它们相同,则给出 0。
def XOR(a, b):
if a != b:
return 1
else:
return 0
NOT 门
它充当逆变器。它只需要一个输入。如果输入为 1,则会将结果反转为 0,反之亦然。
def NOT(a):
return not a
NOR 门
如果两个输入均为 0,则 NOR gate (negated OR)给出 1 的输出,否则给出 0。
def NOR(a, b):
if(a == 0) and (b == 0):
return 1
elif(a == 0) and (b == 1):
return 0
elif(a == 1) and (b == 0):
return 0
elif(a == 1) and (b == 1):
return 0
XNOR 门
XNOR gate (negated XOR) 两个输入相同的输出为1,如果两个输入不同,则为0。
def XNOR(a, b):
if(a == b):
return 1
else:
return 0
逻辑门的详细解释
NOT 门
NOT门是一种基本的逻辑门,只有一个输入和一个输出。当 NOT 门的输入为逻辑 1 时,其输出为逻辑 0,当其输入为逻辑 0 时,输出为逻辑 1。因此,NOT门用于在数字电路中执行反相操作。它补充输入并产生相应的输出。
NOT门的符号及真值表:
NAND 门实现 NOT 门:
Y = (AA)‘=A’
NOR 门实现 NOT 门:
使用晶体管(双极结型晶体管)实现 NOT 门:
NOR 门
NOR门是一种数字逻辑门,在两个或多个二进制输入和输出二进制信号之间执行NOR操作。如果所有输入均为 0,则返回 1;如果任何输入为 1,或所有输入均为 1 ,则返回 0。
NOR门的符号及真值表:
NOR门的类型:
- 2 – input NOR gate
输入数 n = 2,因此真值表将有 2^n= 2^2= 4 个组合,即上图形式。 - 3 – input NOR gate
需要三个输入,因此 n = 3。真值表将有 2^3= 8 种可能结果的组合。
使用晶体管实现 NOR 门:
XNOR 门
XNOR门是一种专门设计的逻辑门,只有两个输入和一个输出。当两个输入均为逻辑 1 或逻辑 0 时,XNOR 门的输出为逻辑 1。换言之,当两个输入相同时,XNOR 门的输出为逻辑 1。对于不同的输入,XNOR 门的输出为逻辑 0。也就是说,XNOR门只不过是一个XOR门,后面跟着一个NOT门。
XNOR门的符号及真值表:
Y=A⊙B
使用NAND门实现XNOR门:
使用NOR门实现XNOR门:
使用晶体管实现XNOR门: