news 2026/1/10 2:38:52

半加器布尔表达式推导:系统学习逻辑优化

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
半加器布尔表达式推导:系统学习逻辑优化

从零推导半加器:深入理解数字逻辑设计的起点

你有没有想过,计算机是如何完成最简单的“1+1”的?
在现代处理器每秒执行数十亿条指令的背后,最基本的运算动作其实始于一个极为简洁的电路——半加器(Half Adder)。它虽小,却是构建所有算术单元的基石。今天,我们就从最原始的真值表出发,一步步推导出它的布尔表达式,用代数和卡诺图双重验证,并探讨其在真实系统中的优化与应用。

这不仅是一次公式演算,更是一场关于逻辑抽象、化简与实现的完整思维训练。准备好进入数字世界的底层了吗?


半加器是什么?先搞清它的任务

我们先不急着写公式,而是回到问题本身:两个1位二进制数相加,会发生什么?

假设输入是 A 和 B,都是 0 或 1:

  • 0 + 0 = 0 → 没有进位
  • 0 + 1 = 1 → 没有进位
  • 1 + 0 = 1 → 没有进位
  • 1 + 1 = 10(二进制)→ 本位为 0,向高位进 1

所以输出需要两个信号:
-Sum(S):当前位的结果
-Carry(C):是否产生进位

⚠️ 注意:半加器只处理两个输入,不接收来自低位的进位(即无 Cin),因此不能直接用于多位加法的中间位。但它足够简单,适合作为学习组合逻辑的“Hello World”。

于是我们可以列出这张关键的真值表:

ABS (Sum)C (Carry)
0000
0110
1010
1101

现在的问题是:如何把这个行为翻译成电路能实现的布尔表达式?


第一步:从真值表到标准积之和(SOP)

在数字逻辑中,最常见的方法是从“最小项”入手,也就是找出输出为 1 的那些行,然后把它们对应的乘积项加起来。

Sum 输出分析

S = 1 出现在两行:
- A=0, B=1 → 对应项是 A’B
- A=1, B=0 → 对应项是 AB’

所以:

$$
S = A’B + AB’
$$

这个形式看起来眼熟吗?没错,这就是异或(XOR)的标准定义!

$$
A \oplus B = A’B + AB’
$$

也就是说,Sum 就是 A 和 B 的异或结果

Carry 输出分析

C = 1 只出现在一行:
- A=1, B=1 → 对应项是 AB

所以:

$$
C = AB
$$

这正是一个“与”操作。只有当两个输入都为 1 时才产生进位。

到这里,我们已经得到了最基础的布尔表达式:

$$
\boxed{S = A \oplus B},\quad \boxed{C = A \cdot B}
$$

但这只是开始。接下来我们要问自己一个问题:还能不能再简化?有没有冗余?


第二步:代数化简 —— 真的是最简了吗?

让我们再看一眼 $ S = A’B + AB’ $

你能把它合并成一项吗?比如提取公因子?试试看:

  • 没有共同的与项可以提出
  • 它已经是两项之和,每一项都是一个乘积项
  • 无法通过吸收律、分配律进一步压缩

结论:这是不可再约的最简与或式(minimal SOP)

而 $ C = AB $ 本身就是单一乘积项,显然也无法再简化。

所以从代数角度看,这两个表达式已经最优了。

但别忘了,在数字设计中,“最简”不只是数学上的干净,更是对硬件成本的考量:门数越少、延迟越低、功耗越小。

那我们能不能换种方式验证一下?


第三步:卡诺图验证 —— 直观看到“无法合并”

卡诺图(Karnaugh Map)是一种图形化工具,用来直观发现相邻项之间的可合并性。

Sum 的卡诺图(2变量)

B=0B=1
A=001
A=110

观察四个格子:
- “1” 分布在对角线上
- 没有两个相邻的“1”,无法圈成更大的矩形
- 必须保留两个独立项:A’B 和 AB’

结果不变:$ S = A’B + AB’ $

Carry 的卡诺

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2025/12/24 5:35:21

终极VLC媒体播放器使用教程:从新手到高手的完整指南

终极VLC媒体播放器使用教程:从新手到高手的完整指南 【免费下载链接】vlc VLC media player - All pull requests are ignored, please follow https://wiki.videolan.org/Sending_Patches_VLC/ 项目地址: https://gitcode.com/gh_mirrors/vl/vlc VLC媒体播放…

作者头像 李华
网站建设 2025/12/24 5:34:36

视觉小说社区平台的演进与实践

视觉小说社区平台的演进与实践 【免费下载链接】kun-touchgal-next TouchGAL是立足于分享快乐的一站式Galgame文化社区, 为Gal爱好者提供一片净土! 项目地址: https://gitcode.com/gh_mirrors/ku/kun-touchgal-next 在数字娱乐内容快速发展的背景下,视觉小说…

作者头像 李华
网站建设 2025/12/24 5:34:21

TouchGal如何成为Galgame玩家的必备工具?

TouchGal如何成为Galgame玩家的必备工具? 【免费下载链接】kun-touchgal-next TouchGAL是立足于分享快乐的一站式Galgame文化社区, 为Gal爱好者提供一片净土! 项目地址: https://gitcode.com/gh_mirrors/ku/kun-touchgal-next 如果你经常在多个平台间切换寻找…

作者头像 李华
网站建设 2025/12/24 5:34:00

从Hugging Face到Anything-LLM:如何加载本地大模型?

从Hugging Face到Anything-LLM:如何加载本地大模型? 在生成式AI浪潮席卷各行各业的今天,越来越多开发者和企业希望将大型语言模型(LLM)落地为实际可用的应用系统。然而,现实往往令人却步:下载了…

作者头像 李华
网站建设 2025/12/29 13:32:21

PC版微信QQ防撤回终极指南:5分钟掌握永久防撤回方法

PC版微信QQ防撤回终极指南:5分钟掌握永久防撤回方法 【免费下载链接】RevokeMsgPatcher :trollface: A hex editor for WeChat/QQ/TIM - PC版微信/QQ/TIM防撤回补丁(我已经看到了,撤回也没用了) 项目地址: https://gitcode.com/…

作者头像 李华