定点数例题——定点数范围推导
题目
机器字长为n位的二进制数可以用补码表示多少个不同的有符号定点小数?
A 2^n
B 2^(n-1)
C 2^n-1
D 2^(n-1)+1
解析
假定n=4
头一位是符号位
最大值是0111,转换为十进制是2^2+2^1+2^0=7
7=2^(4-1)-1
推导可以得出2^(n-1)-1
最小值是1111,也就是-7
最小值是-(2^(4-1)-1)
因此原码表示范围是
-(2^(n-1)-1)—(2^(n-1)-1)
反码是由原码推导出来的,因此反码表示范围和原码一样。
补码负数是反码的基础+1,因此反码范围是
-2^(n-1)—(2^(n-1)-1)
移码是在补码上符号位取反,因此范围和补码一样。
定点小数上
原码,n=4
最大值是0.0111
0.0111+0.0001在二进制下是1
因此最大值是1-2^-(4-1)
1-2^-(n-1)
最小值是0.1111
头一位是符号位
也是在这个基础上加上0.0001得到1
因此是-(1-2^-(n-1))
补码最小值是-1,最大值和原码,反码都一样
移码与补码相同
答案选A