基础逻辑运算
约 929 字大约 3 分钟
2026-10-04
计算机里一切运算的尽头,都是 0 和 1 的逻辑运算。 先一句话记住四位主角:与(都真才真)、或(有真就真)、非(真假翻转)、异或(不同才真)。
知识讲解
一、用电路秒懂四种运算
把 1 当「开关按下」、0 当「没按」,灯亮是 1:
- 与 AND:两个开关串联——都得按,灯才亮
- 或 OR:两个开关并联——随便按一个,灯就亮
- 非 NOT:开关接反——按下反而灭,不按反而亮
- 异或 XOR:双控开关(卧室门口一个、床头一个)——两个开关状态不同时灯亮,相同则灭
双控开关是绝杀比喻
家里楼梯灯就是异或:楼上开关和楼下开关扳的方向不一样,灯就亮;扳成一样,灯就灭——「不同为 1,相同为 0」。
二、真值表(必须刻进 DNA)
| A | B | 与 A⋅B | 或 A+B | 异或 A⊕B | 同或 |
|---|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 | 1 |
| 0 | 1 | 0 | 1 | 1 | 0 |
| 1 | 0 | 0 | 1 | 1 | 0 |
| 1 | 1 | 1 | 1 | 0 | 1 |
按列看规律,一眼记住:
- 与:全 1 才 1,见 0 出 0(1 是稀缺品)
- 或:有 1 就 1,全 0 才 0(0 是稀缺品)
- 异或:不同为 1,相同为 0
- 同或:异或的反面,相同为 1(名字已经剧透:同 → 1)
三、非,以及两个「万能门」
非 NOT:单目运算,记作 A 或 ∼A,0 变 1、1 变 0。
两个重要的派生门(考试偶尔露脸):
| 运算 | 规则 | 一句话 |
|---|---|---|
| 与非 NAND | 先与后非 | 全 1 才 0,见 0 出 1 |
| 或非 NOR | 先或后非 | 全 0 才 1,见 1 出 0 |
万能门
只靠与非门(NAND)一种,就能拼出与、或、非任何逻辑,或非门同理。 所以工程上 NAND 被称为「万能门」——芯片里大面积都是它。
四、多个比特:按位运算
真值表是一对比特的事;对多比特数,就每一位独立按规则算,互不打扰。
设 x=10110110,看三种经典用法(考题常客):
| 用法 | 表达式 | 结果 | 干了什么 |
|---|---|---|---|
| 掩码(取出低 4 位) | 10110110&00001111 | 00000110 | 和 0 与 → 强制清零;和 1 与 → 原样保留 |
| 置位(低 4 位全变 1) | 10110110∣00001111 | 10111111 | 和 1 或 → 强制置 1;和 0 或 → 原样保留 |
| 翻转(低 4 位 0↔1) | 10110110⊕00001111 | 10111001 | 和 1 异或 → 翻转;和 0 异或 → 原样保留 |
三兄弟速记
与 0 清零、或 1 置位、异或 1 翻转——对照着记,掩码类题目直接口算。
五、异或的三大性质(考试最爱)
a⊕0=aa⊕a=0a⊕b⊕b=a
- 恒等律:和 0 异或 = 不变
- 归零律:自己异或自己 = 0
- 自反性:异或两次同一个数,还原!(简单加密的原理)
奇偶校验也靠它:把一个字节所有位连续异或,结果是 1 说明 1 的个数是奇数个。
六、和前面知识的连线
- CRC 的「模 2 加法 / 模 2 减法」就是异或——消 1 游戏里每一步的 XOR 就是它(见第一章 CRC)
- 反码的「按位取反」就是按位非 NOT
- 补码 = 反码 + 1,反码是 NOT 的直接应用
小测自检
- 1⊕0⊕1⊕1=?
- 1101&1011=? 1101∣0110=?
- 只用与非门,怎么造一个「非门」?
参考答案
- 1(1 的个数是 3 个,奇数个 1 → 结果 1;或逐步算:1⊕0=1,1⊕1=0,0⊕1=1)
- 1101&1011=1001(逐位与);1101∣0110=1111(逐位或)
- NAND 的两个输入接在一起:A⋅A=A,就是非门 ✅