意义与机制
半加器接受两个输入位,而全加器接受三个输入位,包括前一位的进位。将结果在位之间连接,可以实现多位数字的加法。
使用XOR,在奇数个 1 的情况下,加法可以表示为进位。当输入中有两个或多个 1 时,就会产生进位。如果所有三个输入都是 1,则加法结果为 1,进位也为 1。
关系与条件
S = A ⊕ B ⊕ Cin, 且 Cout = A*B + Cin*(A ⊕ B). 为了使最终进位位与完全加法 A + B + Cin 相同,数字必须包含最终进位位。
如果忽略固定位数的进位,则数字将会循环。对于符号进位和无符号数字,溢出检测的概念并不相同。
观察实验中需要注意的事物
总位与最终进位加起来等于 A+B+Cin.
传播延迟和中间电压已不考虑。 输入是 0 到 15 之间的整数。 在屏幕上进行实验;请勿使用实际电源、插座或高电压进行重复。
关键关系与符号
S = A⊕B⊕Cin · Cout = AB + Cin(A⊕B)
| 符号 | 含义 | 单位 |
|---|---|---|
| S | 当前位置的位和计算。 | 0 或 1 |
| Cin, Cout | 输入进位与输出进位 | 0 或 1 |
工作实例
当 A=15、B=15、Cin=1 时,最终进位与和位分别是多少?
1 / 1111
常见误解
- 仅读取毒蛇产生的比特,而忽略进位,可能会导致实际总和的错误。
