1. 从电灯开关到二进制:计算机的底层语言
我奶奶第一次看我修电脑时,盯着机箱里闪烁的指示灯问:"那些小灯一亮一灭的,就能算数?"这个问题其实触及了计算机最本质的工作原理——用开关的"开"和"关"两种状态表示一切信息。
现代计算机的基石是二进制,它只需要0和1两个数字。为什么不是更符合人类习惯的十进制?因为电子元件最容易实现两种稳定状态:晶体管导通(1)或截止(0)、电压高(1)或低(0)、磁极正(1)或反(0)。这种设计让计算机在物理层面具有极高的可靠性——元件只需要区分两种明确状态,不需要精确测量十种不同电平。
有趣的是,早期计算机确实尝试过十进制。ENIAC就使用10个真空管状态表示一个数字,但很快工程师们发现二进制系统在稳定性和成本上的巨大优势。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 半加器:加法运算的原子单元
要让计算机做加法,首先要解决一个比特(二进制位)的相加问题。半加器就是这个最基本的加法单元,它能处理两个二进制位的加法。真值表清晰地展示了它的行为:
| 输入A | 输入B | 和(SUM) | 进位(CARRY) |
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 0 | 1 | 1 | 0 |
| 1 | 0 | 1 | 0 |
| 1 | 1 | 0 | 1 |
这个简单的逻辑可以用几个晶体管实现。具体电路设计中,SUM输出是A和B的异或(XOR),CARRY输出是A和B的与(AND)。当我第一次在实验板上搭建这个电路时,LED灯按照真值表亮灭的瞬间,真正理解了"计算"如何从物理层面产生。
3. 全加器:处理进位链的关键升级
半加器有个明显缺陷——无法处理来自低位的进位。全加器通过增加一个进位输入解决了这个问题。一个全加器由两个半加器和一个或门组成:
- 第一个半加器计算A和B的和与进位
- 第二个半加器将上一步的和与进位输入Cin相加
- 最后用或门合并两次计算产生的进位
这种级联设计让多位加法成为可能。我在大学实验课上曾用逻辑门芯片搭建4位全加器,当拨动开关输
