主要内容
逻辑门
我们使用代表1和0的线,通过计算机发送信息。计算机需要一种方法来操纵这些1和0,以便它们最终能够进行类似计算 的50位小数和其他更复杂的操作。
计算机使用 逻辑门 转换从输入线传递来的1和0。逻辑门接受输入,然后根据它们的状态输出结果。
非门
最简单的门是 非 门 (NOT),也称为 反转器。它接受一个输入,并输出相反的值。
当输入为 时,输出为 。
当输入为 时,输出为 。
反转值似乎是一个轻小的操作,但在计算机中,我们可以通过合并许多小型操作建立高度复杂的逻辑。
与门
所有其他的逻辑门都使用多个输入。与门 (AND) 接受两条输入线。如果这两条线都是“开”(代表 ,它就输出 :
如果其中任何一个线是“关闭”(代表 ),则输出 :
AND 是一个 布尔 运算,一个包含“true”(真)或“false”(假)的值的操作,然后基于对这些输入的逻辑操作输出“true”或“false”。在逻辑门中,我们认为 是true(真), 是false(假)。
理解布尔操作的一种方法是,为所有可能的输入和输出制作一个 真值表。这是与门的真值表:
输入 A | 输入 B | 输出 |
---|---|---|
真 | 真 | 真 |
真 | 假 | 假 |
假 | 真 | 假 |
假 | 假 | 假 |
注意只有 1 行的输出是真 —— 只有在两个输入都是真的情况下才发生。
我们还可以使用 和 来写真值表,以便更多计算机术语来思考它:
输入 A | 输入 B | 输出 |
---|---|---|
再次强调,只有一行的输出为 。
如果我们想要相反的,一个几乎每次输出 的逻辑门呢?是有这样一个门的!
或门
或 (OR) 逻辑门接受两个输入,只要 其中一个 输入是 ,它就输出一个 :
让我们看看或门的真值表:
输入 A | 输入 B | 输出 |
---|---|---|
您可以看到,除了一行之外,所有的输出都是 。或门只在两个输入都是 的情况下输出 。
有逻辑地思考
用人类语言考虑这些逻辑门可能有助于你理解。
考虑这个或门。第一个输入代表“外面在下雨”,第二个输入代表“我们正要去爬山”,输出代表“我们应该穿上靴子”。
如果外面在下雨或者我们正要去爬山,那么我们就应该穿上靴子。我们可以说得更繁琐点:如果“外面在下雨”是真的,或者“我们正要去爬山”是真的,那么“我们应该穿上靴子”就是真的。
这意味着,如果外面在下雨(不管我们是否要去爬山),我们应该穿上靴子。如果我们要去爬山(不管是否下雨),我们应该穿上靴子。我们唯一的不应该穿着靴子(根据这个逻辑门)的时间就是外面既不下雨,我们也不去爬山的时候。
这是对人类决定是否穿靴时计算的复杂逻辑的广泛简化,但它表明逻辑与计算机之外的“真实世界”非常相关。
抽象的背后
我们在此提出的逻辑门是真实器件的抽象表达式。逻辑门描述了可在 或 中取值的 任何 器件,并且根据其真值表输出 和 。
在大多数现代计算机中,逻辑门是用晶体管和其他电气组件,如电阻和二极管等,相结合的。这些都是有线连接的,以确保它们按照我们期望的方式转换输入。
使用微小的电子设备,您可以建立自己的逻辑门,例如 此视频节目。这里是该视频中自制与或门的电路:
如果你拆开自己的计算机(不要!),你不会看到任何类似的东西。我们强大的计算机现在需要几十亿个门,所以制造商已经设计了如何使电子部件变得非常小。我自己的mac电脑拥有56亿只晶体管,每个只有14纳米那么宽。
我们可以理解和使用逻辑门,而不必知道它们是如何执行的。这是抽象的力量,使我们能够忽略细节,注重更高级别的功能。
🙋🏽🙋🏻♀️🙋🏿♂️你对这个章节还有问题吗? 我们会尽力回答— 请在下面提问框里留言!