If you're seeing this message, it means we're having trouble loading external resources on our website.

如果你被网页过滤器挡住,请确保域名*.kastatic.org*.kasandbox.org 没有被阻止.

主要内容

逻辑门

我们使用代表1和0的线,通过计算机发送信息。计算机需要一种方法来操纵这些1和0,以便它们最终能够进行类似计算π的50位小数和其他更复杂的操作。
计算机使用 逻辑门 转换从输入线传递来的1和0。逻辑门接受输入,然后根据它们的状态输出结果。

非门

最简单的门是 门 (NOT),也称为 反转器。它接受一个输入,并输出相反的值。
当输入为 0 时,输出为 1
显示一个单一电线进入“非门”的图表。电线处于开状态,传输的信号是1。从门输出电线位于关状态,传输的信号是0。
当输入为 1 时,输出为 0
显示一个单一电线进入“非门”的图表。电线处于关闭状态,传输的信号是0。从门输出电线位于开状态,传输的信号是1。
反转值似乎是一个轻小的操作,但在计算机中,我们可以通过合并许多小型操作建立高度复杂的逻辑。

与门

所有其他的逻辑门都使用多个输入。门 (AND) 接受两条输入线。如果这两条线都是“开”(代表1),它就输出 1:
一个图表显示在开状态(1)的两条线穿过写着“与”的门并输出一条开状态的线(1)。
如果其中任何一个线是“关闭”(代表 0),则输出 0
一个图表显示在关闭状态(0)的两条线穿过写着“与”的门并输出一条关闭状态的线(0)。
测验你的理解
你认为这种组合将输出什么?
一个图表显示了两条线,一条在开状态(1),另一条处于关闭状态(0)。两条线都穿过一个写着“与”的门,输出一条未知状态的线。
选出正确答案:

AND 是一个 布尔 运算,一个包含“true”(真)或“false”(假)的值的操作,然后基于对这些输入的逻辑操作输出“true”或“false”。在逻辑门中,我们认为 1 是true(真), 0 是false(假)。
理解布尔操作的一种方法是,为所有可能的输入和输出制作一个 真值表。这是与门的真值表:
输入 A输入 B输出
注意只有 1 行的输出是真 —— 只有在两个输入都是真的情况下才发生。
我们还可以使用 10 来写真值表,以便更多计算机术语来思考它:
输入 A输入 B输出
111
100
010
000
再次强调,只有一行的输出为 1
如果我们想要相反的,一个几乎每次输出 1 的逻辑门呢?是有这样一个门的!

或门

或 (OR) 逻辑门接受两个输入,只要 其中一个 输入是 1,它就输出一个 1
一个图表显示了两条线,一条在开状态(1),另一条处于关闭状态(0)。两条线都穿过一个写着“或”的门,输出一条开状态的线(1)。
测验你的理解
基于该描述,你认为这个或门会输出什么值?
一个图表显示在开状态(1)的两条线穿过写着“或”的逻辑门并输出一条未知状态的线。
选出正确答案:

让我们看看或门的真值表:
输入 A输入 B输出
111
101
011
000
您可以看到,除了一行之外,所有的输出都是 1 。或门只在两个输入都是 0的情况下输出 0

有逻辑地思考

用人类语言考虑这些逻辑门可能有助于你理解。
考虑这个或门。第一个输入代表“外面在下雨”,第二个输入代表“我们正要去爬山”,输出代表“我们应该穿上靴子”。
一个图表显示了一条线旁边有雨滴和另一条线旁有山脉。两线都穿过写着“或”的逻辑门,然后输出一条线,旁边标着靴子。
如果外面在下雨或者我们正要去爬山,那么我们就应该穿上靴子。我们可以说得更繁琐点:如果“外面在下雨”是真的,或者“我们正要去爬山”是真的,那么“我们应该穿上靴子”就是真的。
这意味着,如果外面在下雨(不管我们是否要去爬山),我们应该穿上靴子。如果我们要去爬山(不管是否下雨),我们应该穿上靴子。我们唯一的不应该穿着靴子(根据这个逻辑门)的时间就是外面既不下雨,我们也不去爬山的时候。
这是对人类决定是否穿靴时计算的复杂逻辑的广泛简化,但它表明逻辑与计算机之外的“真实世界”非常相关。

抽象的背后

我们在此提出的逻辑门是真实器件的抽象表达式。逻辑门描述了可在 01 中取值的 任何 器件,并且根据其真值表输出 01
在大多数现代计算机中,逻辑门是用晶体管和其他电气组件,如电阻和二极管等,相结合的。这些都是有线连接的,以确保它们按照我们期望的方式转换输入。
使用微小的电子设备,您可以建立自己的逻辑门,例如 此视频节目。这里是该视频中自制与或门的电路:
视频截图。在顶部是有导线、晶体管、调电阻、按钮和LED灯的面包板。面包板放在一张写有与门和或门真值表以及面包板上电路图的纸上面。
如果你拆开自己的计算机(不要!),你不会看到任何类似的东西。我们强大的计算机现在需要几十亿个门,所以制造商已经设计了如何使电子部件变得非常小。我自己的mac电脑拥有56亿只晶体管,每个只有14纳米那么宽。
我们可以理解和使用逻辑门,而不必知道它们是如何执行的。这是抽象的力量,使我们能够忽略细节,注重更高级别的功能。

进一步学习

计算机还使用其他逻辑门,例如 与非(NAND)或非(NOR)异或(XOR). 每个逻辑门以略不同的方式运行; 它们根据不同的情况输出 10
事实上,与非门和或非门被称为普遍逻辑门,这意味着我们可以只使用与非门或或非门来建立任何其他逻辑门。计算机硬件制造商由于其普遍性和制造方便,倾向于使用与非门,因此你的计算机可能在其电路中拥有数百万与非门。

🙋🏽🙋🏻‍♀️🙋🏿‍♂️你对这个章节还有问题吗? 我们会尽力回答— 请在下面提问框里留言!

想加入讨论吗?

尚无帖子。
你会英语吗?单击此处查看更多可汗学院英文版的讨论.