What & How & Why

差别

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

到此差别页面的链接

两侧同时换到之前的修订记录前一修订版
后一修订版
前一修订版
cs:comp_n_arch:courses:fnti_i:week_2 [2024/04/17 13:45] – [Negative Numbers] 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====
-如果只表示正整,那么 $n$ bit 表示整数范围为 $[02^n-1]$+表示数的方式有三种: 
 +  * signbit(原码) 
 +  * Complement (补码) 
 +===Signed Bit(原码)=== 
 +这种方式使用二进制的最高位作符号位,以此来区分正负数。其他位不变,比如: 
 +<code cil> 
 +000 -> 100 -> -0 
 +001 -> 1 101 -> -1 
 +010 -> 110 -> -2 
 +011 -> 3 111 -> -3 
 +</code> 
 +这种方法通常不会采用,有几个大的缺点: 
 +  * ''-0'' 的定义,它与 ''0'' 的区别无法解释 
 +  * 加减法无法处理。比如 ''+ (-1)'',也就是 ''001 + 101'', 结果是 ''110'',为 ''-2'', 不是 ''0''