第 147 篇
考研数电·零基础讲义 第02讲(上)|逻辑代数的三种基本运算与复合逻辑
考研数电·零基础讲义 · 第 02 讲(上)|逻辑代数的三种基本运算与复合逻辑 学完本讲,你能说清与、或、非三种基本逻辑,认识与非、或非、与或非、异或、同或五种复合逻辑,会画它们的门符号、写真值表、算表达式的值和画输出波形。预计用时:2 小时(含练习)。
本讲地图
- 学什么:什么是"逻辑变量"和"逻辑运算";与、或、非的含义、真值表、表达式和门符号;五种复合逻辑;运算优先级;根据输入波形画输出波形。
- 为什么重要:后面所有电路——编码器、译码器、触发器、计数器——拆开来看都是这几种门搭起来的。门符号就是数字电路的"汉字",认不全就看不懂电路图。
- 华师怎么考:考纲"逻辑运算和逻辑函数的化简"的第一步。2026 回忆题第 6 题要求"用异或门实现"4 位奇校验器,异或门的性质本讲会讲透;第 5 题用 74HC151 实现函数、第 7 题时序电路分析,都要求你能看懂并写出门电路的表达式。
- 教材对应:阎石第六版 第 2 章 2.1 节(概述)、2.2 节(逻辑代数中的三种基本运算)。
前置知识
- 二进制只有 0 和 1(见第 01 讲(上));
- 知道"异或"可以用来判断 1 的个数是奇是偶(第 01 讲(下)提前用过,本讲正式讲)。
一、逻辑代数是什么
大白话
生活中很多事情只有两种结果:灯亮/灭、门开/关、考试过/不过、按钮按下/松开。如果我们用 1 和 0 来代表这两种状态,就能用"算式"来描述"在什么条件下会发生什么结果"。
比如:"只有钥匙插上并且踩下刹车,汽车才能启动"——这句话里有条件(钥匙、刹车)和结果(启动),它们之间的因果关系就是一种"逻辑"。
正式说法
- 逻辑变量:只能取 0 或 1 两个值的变量,常用大写字母表示。注意:这里的 0 和 1 不表示数量大小,只表示两种对立的状态(真/假、高/低、通/断)。
- 逻辑运算:按某种因果关系,由输入变量的状态推出输出状态的运算。
- 逻辑代数:研究逻辑运算规律的数学工具,由英国数学家乔治·布尔(George Boole)在 1849 年提出,所以也叫布尔代数;因为后来大量用在开关电路里,又叫开关代数。
正逻辑约定
在电路里,通常规定高电平 = 1,低电平 = 0,这叫正逻辑;反过来叫负逻辑。本系列如不特别说明,一律用正逻辑。
易错点 ⚠️
- 逻辑代数里的 "+" 不是加法,"·" 不是乘法。比如逻辑运算,而不是 2。看到 "+" 要读成"或"。
二、三种基本运算:与、或、非
所有复杂的逻辑,最后都能拆成三种最基本的运算:与(AND)、或(OR)、非(NOT)。先用一个电路模型把它们看明白。
图 1:用开关和灯理解三种基本逻辑。1 表示开关合上、灯亮(动画依次切换 A、B 的四种状态)。
1. 与运算(AND)
大白话:所有条件同时满足,结果才发生。像图 1 左边,两个开关串联在一条线上,必须 A 和 B 都合上,电流才能通过,灯才亮。生活中"刷卡并且刷脸才能进门"就是与。
表达式:
读作"Y 等于 A 与 B"。"·"可以省略,就像普通代数里乘号可以省略。所以与运算也叫逻辑乘。
真值表(把输入的所有可能组合和对应输出全部列出来的表):
| 0 | 0 | 0 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
记忆口诀:"有 0 出 0,全 1 出 1"。
2. 或运算(OR)
大白话:只要有一个条件满足,结果就发生。图 1 中间两个开关并联,A 或 B 任何一个合上(或者两个都合上),灯都亮。生活中"用钥匙或者密码都能开门"就是或。
表达式:
读作"Y 等于 A 或 B",也叫逻辑加。
真值表:
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 1 |
记忆口诀:"有 1 出 1,全 0 出 0"。
注意最后一行:。两个开关都合上,灯还是亮(不会"更亮"),逻辑值只有 0 和 1。
3. 非运算(NOT)
大白话:结果和条件相反。图 1 右边,开关和灯并联:开关断开时电流流过灯,灯亮;开关合上时把灯"短路"了,电流绕过灯走,灯反而灭。生活中"没有下雨才去跑步"就是非。
表达式:
读作"Y 等于 A 非"或"A 反"。变量上面的横线就是"取反"的意思。
真值表:
| 0 | 1 |
| 1 | 0 |
叫原变量,叫反变量。
关于"非"的写法:本系列统一用上划线。阎石教材第六版用的是右上角一撇,有的书和软件也写或,意思完全一样。考试时用上划线最常见。
4. 门电路与图形符号
能实现某种逻辑运算的电路叫门电路:实现与的叫与门,实现或的叫或门,实现非的叫非门(也叫反相器)。门电路内部怎么用晶体管搭,是第 05–07 讲的内容;现在只需要认识它们的"符号"。
门符号有两套常用画法:
- 特定外形符号:形状各不相同(与门像 D 字,或门像子弹头,非门是三角形加小圆圈),国外教材和 EDA 软件常用,阎石教材也用这一套;
- 国标矩形符号(GB/T 4728,与 IEC 标准一致):一律画成方框,在框里写限定符号:与门写 &,或门写 ≥1,非门写 1。国内很多教材和考卷用这一套。
图 2:与门、或门、非门的两套图形符号。
怎么读符号:
- 左边的线是输入端,右边的线是输出端;
- 输出端的小圆圈表示"取反"(有的国标图里画成小三角,含义相同);
- 矩形框里的 "&" 读作"与";"≥1" 意思是"有大于等于 1 个输入为 1,输出就为 1",正好就是或的定义;非门框里的 "1" 表示"只有 1 个输入"。
易错点 ⚠️
- 与运算的口诀是"有 0 出 0",或运算是"有 1 出 1",别记反。
- 非门符号的小圆圈不能漏,没有小圆圈的三角形是"缓冲器"(输出等于输入),不是非门。
三、五种复合逻辑
实际问题往往比"与、或、非"复杂,但都能用它们组合起来。最常用的组合有五种,每种都有专门的门电路。
图 3:五种复合逻辑的表达式与两套门符号。
1. 与非(NAND):先与,再非
表达式:
注意横线是一整条盖在上,表示"先算,再对结果取反"。
真值表:把与的结果全部取反。
| 0 | 0 | 0 | 1 |
| 0 | 1 | 0 | 1 |
| 1 | 0 | 0 | 1 |
| 1 | 1 | 1 | 0 |
口诀:"有 0 出 1,全 1 出 0"。
符号:与门输出端加小圆圈;国标是 & 框加小圆圈。
2. 或非(NOR):先或,再非
| 0 | 0 | 0 | 1 |
| 0 | 1 | 1 | 0 |
| 1 | 0 | 1 | 0 |
| 1 | 1 | 1 | 0 |
口诀:"有 1 出 0,全 0 出 1"。
3. 与或非(AND-OR-INVERT):先分组与,再或,最后非
大白话:把输入分成两组(一组,一组),每组内部先"与",两组结果再"或",最后整体取反。
怎么判断输出:只要有任何一组全是 1,括号里的就是 1,输出;只有每一组都不全为 1 时,输出才是 1。
举几个点:
| 1 1 0 0 | 1 | 0 | 1 | 0 |
| 0 1 1 0 | 0 | 0 | 0 | 1 |
| 1 0 1 1 | 0 | 1 | 1 | 0 |
| 0 1 0 1 | 0 | 0 | 0 | 1 |
4 个输入共 16 种组合,其中的是或的那 7 种( = 0011、0111、1011、1100、1101、1110、1111),其余 9 种。
4. 异或(XOR):不同为 1
大白话:两个输入不一样时输出 1,一样时输出 0。想象楼梯上下各有一个开关控制同一盏灯:任何一个开关拨一下,灯的状态就翻转——这正是异或。
表达式:
读作"异或"(圆圈里一个加号)。右边的式子说的是:"A 为 1 且 B 为 0,或者 A 为 0 且 B 为 1",正好是"不同"。
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 0 |
口诀:"相同出 0,相异出 1"。
符号:在或门的左边多加一条弧线;国标矩形框里写 =1,意思是"恰好有 1 个输入为 1 时输出为 1"(对两输入来说就是"不同")。
5. 同或(XNOR):相同为 1
读作"同或"(圆圈里一个点)。右边的意思是"两个都为 1,或两个都为 0",即"相同"。
| 0 | 0 | 1 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
口诀:"相同出 1,相异出 0"。
符号:异或门输出端加小圆圈;国标矩形框写 =(也有画成 "=1" 加小圆圈的)。
对比两张真值表就能看出,异或和同或互为反运算:
六种两输入逻辑一览(按输入 00、01、10、11 的顺序写输出)
| 逻辑 | 输出列 | 口诀 |
|---|---|---|
| 与 | 0001 | 有 0 出 0 |
| 或 | 0111 | 有 1 出 1 |
| 与非 | 1110 | 有 0 出 1 |
| 或非 | 1000 | 有 1 出 0 |
| 异或 | 0110 | 相异出 1 |
| 同或 | 1001 | 相同出 1 |
这张表非常好用:题目给你一张真值表让你认是什么门,按顺序读出输出列,对一下就知道了。
四、异或的重要性质(2026 真题第 6 题要用)
异或在考研里出镜率很高,它的几条性质要熟到不假思索。下面每条都可以把 0、1 代进去验证。
| 性质 | 含义 |
|---|---|
| 和 0 异或,保持不变 | |
| 和 1 异或,取反(所以异或门可以当"可控反相器") | |
| 自己和自己异或得 0 | |
| 和自己的反异或得 1 | |
| 交换律 | |
| 结合律,所以可以直接写 |
最重要的推论:多个变量连续异或,
为什么? 从 0 开始,每遇到一个 1 就"取反"一次(是取反),遇到 0 就不变(不变)。取反了奇数次,结果就是 1;偶数次,就回到 0。
这就是奇偶校验电路的原理。2026 回忆题第 6 题"4 位中有奇数个 1 输出 1",输出就是。用两输入异或门实现时,因为结合律,可以先算,再和异或,再和异或,一共需要 3 个两输入异或门(个变量需要个)。完整的设计步骤在第 08 讲做。
一个容易踩的坑:多变量同或
两个变量时,同或是异或的反。但三个变量时:
它们反而相等!(四个变量时又变回相反。)原因是:每个等于"再取反",三个变量连着用了两次,取反两次就抵消了。可以把 8 种组合代进去自己验证一遍。所以不要想当然地认为"同或就是异或取反"在多变量时也成立。
五、运算优先级与表达式求值
规则
和普通代数一样,逻辑运算也有先后顺序:
- 括号最先;
- 然后非(单个变量上的横线);
- 然后与;
- 最后或。
一条长横线盖住的部分相当于带了一个括号:先把横线下面的整体算完,再取反。
例题 1:把一句话翻译成逻辑表达式
某汽车规定:钥匙已插上()并且踩下刹车(),并且档位在 P 档()或 N 档()时,按下启动键才能点火()。写出的表达式,并判断两种情况能否点火:(1) ;(2) 。
第 1 步:找关键词。"并且"对应与,"或"对应或。
第 2 步:注意分组。"P 档或 N 档"是一个整体条件,它要和前面两个条件"与"起来,所以要加括号:
第 3 步:代值。
- (1) ,,能点火;
- (2) ,与运算"有 0 出 0",,不能点火。
如果漏写括号写成,意思就变成"(钥匙且刹车且 P 档)或者 N 档"——只要挂 N 档不插钥匙也能点火,显然不对。文字翻译成表达式时,括号决定了含义。
例题 2
已知,求和时的值。
第一组():
- 先算长横线下面:;
- 取反:;
- 最后或:。
第二组():,。
例题 3
已知,列出完整真值表。
3 个变量,共种组合。按从 000 数到 111 逐行算,中间结果也写出来,不容易错:
| 0 | 0 | 0 | 0 | 0 | 0 |
| 0 | 0 | 1 | 0 | 0 | 0 |
| 0 | 1 | 0 | 1 | 0 | 1 |
| 0 | 1 | 1 | 1 | 0 | 1 |
| 1 | 0 | 0 | 0 | 1 | 1 |
| 1 | 0 | 1 | 0 | 0 | 0 |
| 1 | 1 | 0 | 0 | 1 | 1 |
| 1 | 1 | 1 | 0 | 0 | 0 |
列真值表的好习惯:输入按二进制顺序从 000 排到 111(这样既不重复也不遗漏);复杂一点的式子,先把每个"乘积项"单独算一列,最后再"或"起来。
易错点 ⚠️
- 是"或(与)",不是"(或)与"。例如时,,而。
- (一条长横线)和(两条短横线)完全不同。时,,而。两者的关系要用下一讲的德·摩根定理来转换。
六、根据输入波形画输出波形
大白话
真实电路里,输入信号是随时间变化的高低电平,画出来就是一条方波似的"波形"。门电路在每个时刻都按自己的真值表工作,所以把时间切成一段一段,每段读出输入的 0/1,查真值表得输出,再把输出连起来就是输出波形。
图 4:给定 A、B 的波形,逐段求与、或、异或的输出(红色扫描线动画循环播放)。
例题 4
输入、在 8 个时段的取值如下,画出、、的波形(即求每段的值)。
| 时段 | t1 | t2 | t3 | t4 | t5 | t6 | t7 | t8 |
|---|---|---|---|---|---|---|---|---|
| 0 | 0 | 1 | 1 | 0 | 1 | 1 | 0 | |
| 0 | 1 | 0 | 1 | 1 | 1 | 0 | 0 | |
| 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | |
| 0 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | |
| 0 | 1 | 1 | 0 | 1 | 0 | 1 | 0 |
步骤:
- 在所有输入发生跳变的时刻画竖虚线,把时间轴切成若干段(每一段里输入都不变);
- 每段读出、;
- 按口诀求输出:与"有 0 出 0",或"有 1 出 1",异或"相异出 1";
- 把每段输出画成高(1)或低(0),相邻段之间用竖线连起来。
易错点 ⚠️
- 一定要在任意一个输入跳变的地方都切开,漏切一处,那一段的输出就可能画错。
- 这里假设门电路没有延迟(理想情况)。实际门有传输延迟,会引起"竞争-冒险",见第 12 讲。
七、一点延伸:与非门可以"包打天下"
只用与非门,就能搭出非、与、或三种基本运算:
- 非:把与非门两个输入接在一起,;
- 与:与非之后再接一个与非门当非门,;
- 或:先把、各自取反,再与非,(这一步要用下一讲的德·摩根定理来证明)。
既然与、或、非都能搭,那么任何逻辑函数都能只用与非门实现。或非门也有同样的本领。所以与非门和或非门叫"通用门",实际芯片中用得最多。后面第 04 讲(下)会专门讲怎么把表达式变成"全与非"的形式。
速记卡
| 运算 | 表达式 | 读作 | 口诀 | 国标框内符号 |
|---|---|---|---|---|
| 与 | A 与 B | 有 0 出 0,全 1 出 1 | & | |
| 或 | A 或 B | 有 1 出 1,全 0 出 0 | ≥1 | |
| 非 | A 非 | 取反 | 1(加输出圈) | |
| 与非 | A 与 B 非 | 有 0 出 1,全 1 出 0 | &(加输出圈) | |
| 或非 | A 或 B 非 | 有 1 出 0,全 0 出 1 | ≥1(加输出圈) | |
| 与或非 | 任一组全 1 出 0 | & & → ≥1(加输出圈) | ||
| 异或 | A 异或 B | 相异出 1 | =1 | |
| 同或 | A 同或 B | 相同出 1 | = |
- 优先级:括号 → 非 → 与 → 或;长横线相当于括号。
- 异或性质:,,;多变量异或 = 1 ⇔ 奇数个 1(奇偶校验,2026 第 6 题)。
- 两变量;但三变量。
- 两输入真值表输出列(00/01/10/11):与 0001、或 0111、与非 1110、或非 1000、异或 0110、同或 1001。
自测练习
1. 列出的真值表,并说出它是哪种逻辑。
答案与提示
| 0 | 0 | 0 | 0 | 0 |
| 0 | 1 | 0 | 1 | 1 |
| 1 | 0 | 1 | 0 | 1 |
| 1 | 1 | 0 | 0 | 0 |
输出列 0110,是异或:。
2. 已知,求、、时的。
答案与提示
- 011:,;
- 101:,,;
- 100:,。
(和例题 3 的真值表对得上。)
3. 下面三张两输入真值表的输出列(按=00、01、10、11)分别是 1110、1001、1000,各是什么门?
答案与提示
1110 是与非,1001 是同或,1000 是或非。
4. 输入依次为 1, 0, 1, 1, 0, 0,依次为 0, 0, 1, 0, 1, 1。求与非、或非、同或三种门的输出序列。
答案与提示
- 与非(有 0 出 1):1, 1, 0, 1, 1, 1;
- 或非(有 1 出 0):0, 1, 0, 0, 0, 0;
- 同或(相同出 1):0, 1, 1, 0, 0, 0。
5. 求在、、时的值。
答案与提示
数 1 的个数:1011 有 3 个(奇)→ ;1111 有 4 个(偶)→ ;0100 有 1 个(奇)→ 。
也可以逐步算:,,。
6. 与或非门,求和时的输出。
答案与提示
1111:,。0101:,,。
7.(华师风格)用两输入异或门实现"4 位输入中有奇数个 1 时输出 1",写出输出表达式,并说明至少需要几个两输入异或门、怎么连接。
答案与提示
。
利用结合律,可以连成:前两个门分别算和,第三个门把两者再异或。也可以串成一条链。都需要 3 个两输入异或门。
(这正是 2026 回忆题第 6 题的核心,完整设计步骤见第 08 讲。)
8. 楼梯上下各有一个开关、控制同一盏灯。约定开关拨上为 1,灯亮为 1,且时灯灭;任意拨动一个开关,灯的状态都要改变。写出真值表和的表达式。
答案与提示
从 00(灭)出发:拨一个开关变成 01 或 10,灯要亮;再拨另一个变成 11,灯又要灭。
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 0 |
。(如果约定时灯亮,就变成同或。)
下一讲预告
第 02 讲(下):逻辑代数的基本公式、常用公式(吸收律、冗余项定理等)和三个基本定理(代入、反演、对偶),它们是后面化简逻辑函数的全部"武器"。
👉 点击进入下一讲:第02讲(下)|逻辑代数的公式与三个基本定理
评论
还没有评论。 来写第一条。