发布网友 发布时间:2022-04-23 09:37
共2个回答
热心网友 时间:2023-10-09 17:33
n,就说个具体的位数吧,比如:8位二进制的代码。
8位二进制,共有 2^8 = 256组不同的组合。
作为补码,就可以代表 256个正负数值。
256 的一半,就是 128个。
所以,有 128 个负数。应该是:-128 ~ -1。
还有 128 个,那就是:0 ~ +127。
8 位补码,表示范围:-128 ~ +127。
这就是:-2^(8-1) ~+2^(8-1)-1。
一般化:-2^(n-1) ~+2^(n-1)-1。
--------------------
这 8 位的补码,是“定点整数”,小数点在最右边。
如果你把小数点左移一位,其数值范围,就是原来的 1/2 了。
把小数点左移两位,其数值范围,就是原来的 1/4 了。
。。。
把小数点左移七位,数值范围,就是 1/128 了。
此时,就是“定点小数”了。
数值范围:-128/128 ~ (+128-1)/128。
结果就是:-1 ~ 1-1/128。
热心网友 时间:2023-10-09 17:34
因为十进制带符号,所以有一位符号位,数值范围是31位
最大正整数=2^32-1
最大负整数=-(2^32-1)
所以它的范围是-(2^32-1)到 2^32-1
2^31是它的最大位表示的数,最大整数是31位全为1,所以是2^32-1