What & How & Why

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录前一修订版
后一修订版
前一修订版
cs:comp_n_arch:courses:fnti_i:week_2 [2024/04/17 13:44] – [Multi-bit Adder(16bits)] codingharecs:comp_n_arch:courses:fnti_i:week_2 [2024/04/17 13:58] (当前版本) – [Signed Bit(原码)] codinghare
行 61: 行 61:
 这个 adder 由一系列的 half adder 和 full adder 组成。准确的来说,是 15 个 full adder 与 1 个(最右边的)half adder 组合在一起,组成了 16 bits 的,带进位的加法计算器。 这个 adder 由一系列的 half adder 和 full adder 组成。准确的来说,是 15 个 full adder 与 1 个(最右边的)half adder 组合在一起,组成了 16 bits 的,带进位的加法计算器。
 ====Negative Numbers==== ====Negative Numbers====
 +表示负数的方式有三种:
 +  * signbit(原码)
 +  * Complement (补码)
 +===Signed Bit(原码)===
 +这种方式使用二进制的最高位作为符号位,以此来区分正负数。其他位不变,比如:
 +<code cil>
 +000 -> 0 100 -> -0
 +001 -> 1 101 -> -1
 +010 -> 2 110 -> -2
 +011 -> 3 111 -> -3
 +</code>
 +这种方法通常不会采用,有几个大的缺点:
 +  * ''-0'' 的定义,它与 ''0'' 的区别无法解释
 +  * 加减法无法处理。比如 ''1 + (-1)'',也就是 ''001 + 101'', 结果是 ''110'',为 ''-2'', 不是 ''0''