本 Wiki 开启了 HTTPS。但由于同 IP 的 Blog 也开启了 HTTPS,因此本站必须要支持 SNI 的浏览器才能浏览。为了兼容一部分浏览器,本站保留了 HTTP 作为兼容。如果您的浏览器支持 SNI,请尽量通过 HTTPS 访问本站,谢谢!
这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录前一修订版后一修订版 | 前一修订版 | ||
cs:comp_n_arch:courses:fnti_i:week_2 [2024/04/17 13:45] – [Negative Numbers] codinghare | cs: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 表示的整数范围为 $[0, 2^n-1]$ | + | 表示负数的方式有三种: |
+ | * signbit(原码) | ||
+ | * Complement (补码) | ||
+ | ===Signed Bit(原码)=== | ||
+ | 这种方式使用二进制的最高位作为符号位,以此来区分正负数。其他位不变,比如: | ||
+ | <code cil> | ||
+ | 000 -> 0 100 -> -0 | ||
+ | 001 -> 1 101 -> -1 | ||
+ | 010 -> 2 110 -> -2 | ||
+ | 011 -> 3 111 -> -3 | ||
+ | </ | ||
+ | 这种方法通常不会采用,有几个大的缺点: | ||
+ | * '' | ||
+ | * 加减法无法处理。比如 '' |