与非门的作用

与非门(英语:NAND gate)是数字电路的一种基本逻辑电路。若当输入均为高电平(1),则输出为低电平(0);若输入中至少有一个为低电平(0),则输出为高电平(1)。与非门可以看作是与门和非门的叠加。
这里写图片描述
与非门是与门和非门的结合,先进行与运算,再进行非运算。与非运算输入要求有两个,如果输入都用0和1表示的话,那么与运算的结果就是这两个数的乘积。如1和1(两端都有信号),则输出为0;1和0,则输出为1;0和0,则输出为1。与非门的结果就是对两个输入信号先进行与运算,再对此与运算结果进行非运算的结果。简单说,与非与非,就是先与后非。电工学里一种基本逻辑电路,是与门和非门的叠加,有两个输入和一个输出。CMOS电路中的逻辑门有非门、与门、与非门、或非门、或门、异或门、异或非门,施密特触发门、缓冲器、驱动器等与非门则是当输入端中有1个或1个以上是低电平时,输出为高电平;只有所有输入是高电平时,输出才是低电平与非门芯片:74ls系列:74ls00、74LS20,CMOS系列:CD4011

当两个输入端都为低电平时,对应的发光二极管亮;当两个输入端输入不同电

平时,对应的二极管亮;当两输入端为高电平时,对应的发光二极管不亮。 4.与非门传输延迟特性。 

实现与非门的非门功能并将两输出端串联进另一芯片的两输入端依此实现与非门传输延迟特性。
与非门的用法和特点
这里写图片描述
这里写图片描述

### 逻辑与非门的概念及其用法 #### 什么是与非门与非门(NAND Gate)是一种基本的逻辑门,它结合了“与”操作和“非”操作的功能。具体来说,与非门先执行两个输入信号的“与”操作,然后再对其结果取反。因此,只有当所有输入均为高电平(逻辑1)时,输出才为低电平(逻辑0)。对于任意其他组合,输出都将是高电平。 其真值表如下: | 输入 A | 输入 B | 输出 Y | |--------|--------|---------| | 0 | 0 | 1 | | 0 | 1 | 1 | | 1 | 0 | 1 | | 1 | 1 | 0 | 这一特性使得与非门成为一种通用逻辑门,可以通过级联多个与非门来实现任何其他的布尔函数[^1]。 --- #### 如何用与非门实现其他逻辑门? ##### 非门 要利用与非门实现非门功能,只需将同一输入连接到与非门的两个输入端即可。这样,实际上是对该输入进行了自“与”,再对其进行取反操作。这正是非门的作用所在[^3]。 ```python def NOT(input_A): return NAND(input_A, input_A) # 测试代码 print(NOT(0)) # 输出应为1 print(NOT(1)) # 输出应为0 ``` ##### 与门 为了使用与非门创建一个真正的与门,可以在与非门之后附加另一个非门。换句话说,就是两次连续应用与非门的操作效果等同于单次与门操作[^1]。 ```python def AND(input_A, input_B): temp = NAND(input_A, input_B) result = NAND(temp, temp) # 使用非门反转temp的结果 return result # 测试代码 for a in [0, 1]: for b in [0, 1]: print(f"{a} AND {b} -> {AND(a, b)}") ``` ##### 或门 通过巧妙地安排几个与非门也可以模拟或门的行为。首先分别对每个单独的输入施加非处理,接着把这两个经过非处理后的值送入一个新的与非门中完成最终计算过程。 ```python def OR(input_A, input_B): notA = NAND(input_A, input_A) notB = NAND(input_B, input_B) return NAND(notA, notB) # 测试代码 for a in [0, 1]: for b in [0, 1]: print(f"{a} OR {b} -> {OR(a, b)}") ``` ##### 异或门 异或门稍显复杂一些,但它仍然可以用四个与非门搭建而成。以下是基于Python的一个简单例子展示如何做到这一点[^4]: ```python from nand_gate import NAND def XOR(input_A, input_B): s1 = NAND(input_A, input_B) s2 = OR(input_A, input_B) output = AND(s1, s2) return output if __name__ == "__main__": test_cases = [(0, 0), (0, 1), (1, 0), (1, 1)] results = [] for case in test_cases: res = XOR(case[0], case[1]) results.append(res) print(results) # 应打印出 [0, 1, 1, 0] ``` --- #### 动态逻辑中的与非门 除了上述静态组合外,在某些高级设计场景比如动态逻辑里头,我们还经常看到专门针对特定用途优化过的版本形式存在。例如P型树结构非常适合用来表达那些涉及较多串联条件判断的情况下的‘与’或者‘与非’关系网络节点布局方案等等[^2]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值