🎬 计算机科学速成课 - 第3集:布尔逻辑与逻辑门
📺 原视频: Crash Course Computer Science
📝 原标题: Boolean Logic & Logic Gates
🎙️ 主讲: 凯莉·安妮 (Carrie Anne)
⏱️ 时长: 约10分钟
🎯 核心主题: 二进制、布尔代数、逻辑门(NOT/AND/OR/XOR)
📝 笔记来源: B站AI字幕(已校对)
一、为什么要用二进制?
上一集我们谈到计算机是如何进化的——从用十进制表示数字的机电装置(齿轮上的牙齿),发展到带有晶体管 的电子计算机,可以打开或关闭电流。
即使只有两种状态的电力(开/关),我们也可以代表重要的信息——这叫做二进制 (Binary),字面意思是”两个状态”。
你可能会觉得两个状态能做的事不多,但:
- 这正是表示真(TRUE) 和假(FALSE) 所需要的
- 电流流动 = 真 = 1
- 没有电流 = 假 = 0
“你可能会认为两个状态没有太多的工作要做。你说的对,但这正是你在计算机中表示真值和假值所需要的。“
为什么不用更多状态?
早期计算机确实尝试过三元(3个状态)甚至五元系统,但问题是:
- 状态越多,区分越难 ——如果手机电池快没电了,或者旁边有人用微波炉产生电子噪音,信号可能会混淆
- 晶体管每秒切换数百万次 ,需要把两种信号尽可能分开
⚡ 二进制的优势 1 / ON 0 / OFF → 抗干扰能力强 可靠传输
二、布尔代数的诞生
👨🏫 乔治·布尔 (George Boole, 1815-1864)
- 19世纪自学成才的英国数学家
- 他感兴趣的是表达逻辑陈述 ,超越亚里士多德的逻辑方法
- 1847年 发表《正则代数中逻辑的数学分析》
- 布尔的方法允许通过逻辑方程 系统地、正式地证明真理
普通代数中,变量的值是数字,操作是加法和乘法。但在布尔代数 中:
变量的值 = 真(TRUE)或 假(FALSE)
操作 = 逻辑操作(NOT, AND, OR) 计算机使用二进制的另一个原因是:数学的整个分支已经存在,专门处理真和假的值——这就是布尔代数 !
三、晶体管 → 逻辑门
最酷的是:我们可以很容易地从晶体管构建布尔逻辑!
晶体管的工作原理
- 晶体管是电控开关 ,有三根电线:两个电极 + 一根控制线
- 当电施加到控制线 → 电流从一个电极流向另一个电极
- 就像水管上的水龙头 :打开水流动,关闭水停止
🔧 晶体管 = 电控开关 电极 电极 控制线 💧 = 水龙头
四、NOT门(非门)
NOT
NOT门(非门)—— 最简单的逻辑门
把真变假,把假变真
构建方法: 把输出线放在晶体管前面 而不是后面
如果输入 ON(电流流向晶体管)→ 输出 OFF(电流被导入地面)
如果输入 OFF(晶体管关闭)→ 输出 ON(电流流向输出线) “就像如果你房子里所有的水都从一根巨大的软管流出,你的淋浴就没有水压了。“
NOT 真值表
| 输入 A | 输出 NOT A |
|---|---|
| TRUE (1) | FALSE (0) |
| FALSE (0) | TRUE (1) |
| 恭喜!你刚学会了第一个逻辑门 ——之所以叫”门”,是因为它们控制电流的流向。 |
五、AND门(与门)
AND
AND门(与门)
只有两个输入都为真,输出才为真
生活类比 —— 说真话:
“我叫凯莉·安妮,我穿着一件蓝色的裙子。” → 两个事实都真,所以整体为真。
“我叫凯莉·安妮,我穿着裤子。” → 第一部分真,第二部分假,所以整体为假。
AND 真值表
| 输入 A | 输入 B | 输出 A AND B |
|---|---|---|
| 1 | 1 | 1 ✓ |
| 1 | 0 | 0 |
| 0 | 1 | 0 |
| 0 | 0 | 0 |
电路实现: 两个晶体管串联
输入A → [晶体管A] → [晶体管B] → 输出
只有两个都打开,电流才能通过!
六、OR门(或门)
OR
OR门(或门)
只要有一个输入为真,输出就为真
生活类比:
“我叫玛格丽特·汉密尔顿,或者我穿一件蓝色的衣服。” → 虽然我不是玛格丽特·汉密尔顿,但我确实穿着蓝色衣服,所以整体为真!
OR 真值表
| 输入 A | 输入 B | 输出 A OR B |
|---|---|---|
| 1 | 1 | 1 ✓ |
| 1 | 0 | 1 ✓ |
| 0 | 1 | 1 ✓ |
| 0 | 0 | 0 |
电路实现: 两个晶体管并联
电流可以走两条路:
输入A → [晶体管A] → 输出
输入B → [晶体管B] → 输出
只要任何一条路通了,输出就为真!
七、XOR门(异或门)
XOR
XOR门(异或门)—— Exclusive OR
两个输入不同时为真,相同时为假
生活类比 —— 配菜选择:
“你的饭菜配有配菜沙拉或 汤。” → 可悲的是,你不能两者兼得!
XOR 真值表
| 输入 A | 输入 B | 输出 A XOR B |
|---|---|---|
| 1 | 1 | 0 ✗ (相同) |
| 1 | 0 | 1 ✓ (不同) |
| 0 | 1 | 1 ✓ (不同) |
| 0 | 0 | 0 ✗ (相同) |
XOR的构建: 用基本门组合
XOR = (A OR B) AND (NOT (A AND B))
步骤:
1. OR门:检测是否有输入为真
2. AND门:检测是否两个都为真
3. NOT门:翻转AND的结果
4. 最后AND门:组合结果 XOR是第一个复合逻辑门 ——它由更简单的门组成,但工程师给了它自己的符号(微笑的OR门),这样我们就可以把它当作一个独立组件使用!
八、抽象的力量
🏗️ 计算机的抽象层次 应用程序 编程语言 逻辑门 (NOT/AND/OR/XOR) 晶体管 电子 & 半导体物理 高层抽象 底层实现 当工程师设计处理器时,他们很少在晶体管级别工作,而是使用更大的块——比如逻辑门,甚至由逻辑门组成的更大组件。 “即使你是专业的计算机程序员,你也很少会思考布尔逻辑是如何在物理世界中实现的。这些微小的成分隐藏在幕后。“
九、本集总结
💡 核心要点
- 二进制 :计算机只用开/关两种状态,抗干扰能力强
- 布尔代数 :乔治·布尔创立的数学分支,专门处理真/假值
- 三种基本操作 :
- NOT(非) :真变假,假变真
- AND(与) :全真才真
- OR(或) :有真就真
- XOR(异或) :不同为真,相同为假(复合门)
- 抽象 :用逻辑门作为积木块,不必关心底层晶体管
十、符号速查表
| 操作 | 数学符号 | 编程符号 | 标准符号 |
|---|---|---|---|
| NOT(非) | ¬A, A’, Ā | !A, ~A, not A | 三角形+小圆圈 |
| AND(与) | A ∧ B, A · B | A && B, A and B | D形(宇宙飞船) |
| OR(或) | A ∨ B, A + B | A | |
| XOR(异或) | A ⊕ B | A ^ B | 微笑的OR门 |
| 下一集预告:我们将学习如何用二进制表示数字和字母 ! |
📺 Crash Course Computer Science | 翻译:CrashCourse字幕组
📝 笔记制作:覆水 (Fushui) | 日期:2026-03-26
本笔记基于B站AI字幕内容整理