Tricky Circuit

半加器:和与进位

制作微型二进制计算器

半加器把两个位,即数字 0 或 1,相加。和位属于当前位置;进位把一个单位送到下一位,在那里它的数值是当前位置的两倍。

打开互动实验

实验台

改变电路设置,预测读数,再检查挑战结果。这些是教学模型,每课都会说明模型的假设。

登录以保存学习进度. 访客进度保存在此设备上.

在完整窗口中打开实验室

工作原理

理想二进制逻辑:0 表示低,1 表示高,不是测得的电压。不模拟电源、电流、输出负载或响应延迟;图示表示功能,不表示芯片引脚。

A、B 是输入,T 是普通总和,S 是和位,C 是进位。T = S + 2C。两个高输入得到 T = 2、S = 0、C = 1,即二进制 10。⊕ 是 XOR,Exclusive OR,异或:两位不同时为 1。

难度
  1. 搭建 · 搭建电路

    接通电源,设置 A = 0、B = 1。得到 S = 1、C = 0。

    需要提示?

    A = 0; B = 1 → S = 1; C = 0

  2. 探索 · 改变输入

    设置 A = 1、B = 1。得到 S = 0、C = 1。

    需要提示?

    A = 1; B = 1 → S = 0; C = 1

  3. 独立解题 · 完成挑战

    设置 A = 0、B = 0。得到 S = 0、C = 0。

    需要提示?

    A = 0; B = 0 → S = 0; C = 0

延伸阅读与电路配方

制作微型二进制计算器

只需两盏输出灯就能从零数到二。一盏显示个位,另一盏显示值为二的那一位。

T = A + B; T = S + 2C; S = A ⊕ B; C = A × B

先读进位,再读和位。它们的位权为二和一,一起表示完整结果。

有用的规律

和位遵循 XOR;只有两个输入都是 1 时才有进位。两个不同逻辑函数描述同一次加法。

模型之外

半加器不能接收前一位的进位。全加器增加了缺少的第三个输入。

值得避开的误区

1 + 1 时和灯熄灭,不表示结果丢失。值为二的部分保存在进位中。

A = 1、B = 1。正确的二进制结果是?

  1. 01
  2. 10
  3. 11
延伸阅读

总和是二:进位 1、和位 0,按这个顺序写成 10。

搭建电路

设置 A = 0、B = 1。总和 1、和位 1、进位 0。

T = 1; S = 1; C = 0

改变输入

设置 A = 1、B = 1。总和 2、和位 0、进位 1。

T = 2; S = 0; C = 1

试试另一条路径

对每种组合交换 A、B。加法结果不受输入顺序影响。

bob.cs.sonoma.edu