为什么补码的表示范文比源码
计算机组成原理为何补码比原码,反码能多表示一个数,在一个就是
0的反码和原码被表示了两次,而0的补码只表示了一次。
+0 原码00000 反码00000 补码00000 -0原码10000 反码11111 补码00000
当为纯整数的时候,补码比原码能多表示一个最负负的数-2^n (如:10000表示-16)
纯小数时,补码可以多表示一个-1(-1的补码为1.0000)而在原码中-1是不可以被表示出来的。
所以补码可以比原码,反码多表示一个数。。
符号位,在原码取反的时候符号位不变
另外补码反码的符号位可以和数值位一起参与运算..
应该就这些了。
补码数的表示范围与原码有何不同
以8位字长有符号整数为例:
原码范围:1111 1111b~0111 1111b
真值范围: -111 1111b~+111 1111b, 即 -127d~ +127d
补码范围:1000 0000b~0111 1111b
对应的真值范围:-1000 0000b~+111 1111b, 即 -128d~ +127d
.
以8位字长定点有符号小数为例:
[x]原 = 0.000 0000b 最高位的0是符号位表示正,此时为“正零”;
[x]原 = 1.000 0000b 最高位的1是符号位表示负,此时为“负零”。
补码的“正负”与“负零”都是 0.000 0000b
补码数的表示范围与原码有何不同
此时为“负零”:原码范围:1111 1111b~0111 1111b真值范围: -111 1111b~+111 1111b:[x]原 = 0.000 0000b 最高位的0是符号位表示正:-1000 0000b~+111 1111b, 即 -128d~ +127d.以8位字长定点有符号小数为例;[x]原 = 1.000 0000b 最高位的1是符号位表示负以8位字长有符号整数为例, 即 -127d~ +127d 补码范围:1000 0000b~0111 1111b对应的真值范围,此时为“正零”。