问题 单项选择题

用补码表示的一个n位带符号的整数,其有效数值范围是

A.-2n~2n

B.-2n~2n-1

C.-2n-1~2n-1

D.-2n-1~2n-1-1

答案

参考答案:D

解析:
带符号的整数必须使用一个二进位作为其符号位,一般总是最高位(最左面的一位),“0”标识“+”(正数),“1”标识“-”(负数),其余各位则用来表示数值的大小。数据的补码表示仅当负数时才与原码有所不同。无符号二进制整数的原码,其编码与数值之间的关系如下。
设KnKn-1...K1K0用来表示带符号整数时,Kn是符号位,Kn-1...K1K0则为数值位。若KnKn-1...K1K0表示的是原码编码的整数,则十进制数值S与编码的关系是:
S=Kn-1×2n-1+...+K1×21+K0×20 (当Kn=0)
S=-(Kn-1×2n-1+...+K1×21+K0×20) (当Kn=1)
但是,如果KnKn-1...K1K0表示的是补码编码的整数时,不论符号位Kn如何,十进制数值S与编码的关系可以统一地表示为:
S=Kn×(-2n)+Kn-1×2n-1...+K1×21+K0×20
由此可见,采用补码表示的n位二进制带符号整数的有效范围是:
-2n-1S

2n-1-1,选项D正确。

单项选择题 B型题
单项选择题