【目录】
1. 定点数
2. 知识回顾-2进制转其它进制
3. 机器字长为n时各种码制能表示的定点整数的取值范围
3.1 原码、反码能表示的范围
3.2 补码、移码能表示的范围
4. 机器字长为n时各种码制能表示的定点小数的取值范围
4.1 原码、反码能表示的范围
4.12 补码、移码能表示的范围
5. 真题回顾
6. 真题回顾
7. 真题回顾
8. 总结
【正文】
1. 定点数
所谓定点数,就是小数点的位置固定不变的数。
定点数分为定点整数和定点小数。
定点整数:纯整数,小数点在最低有效数值位之后
。
定点小数:纯小数,小数点在最高有效数值位之前
。
2. 知识回顾-2进制转其它进制
2转16:四分法
2转8:三分法
2转10:乘权法
【2转10】
111B = 1*2^2 + 1*2^1 + 1*2^0
= 4 + 2 +1=7
3. 机器字长为n时各种码制能表示的定点整数的取值范围
3.1 原码、反码能表示的范围
【公式推导】
机器字长为n即有n位二进制数。
假设机器字长n=4,即有4位二进制数。
n=4时,最高位为符号位,剩下3位为数值位。
机器字长n=4,能表示的最大的数是:符号位为+
,后3位为111。
最大的数:+111=1*2^2+1*2^1+1*2^0
=4+2+1=7=2^3-1
=2^(4-1)-1
机器字长n=4,能表示的最小的数是:符号位为-
,后3位为111。
最小的数:-111=-(1*2^2+1*2^1+1*2^0
)=-(4+2+1)=-7=-(2^3-1)
=-(2^(4-1)-1)
-7到+7之间总的有15个数,15=16-1=2^4-1
。
【结论】
当机器字长n=4时,能表示的带符号的数的范围是-7~+7
即-(2^3-1)~2^3-1
。
当机器字长为n时,能表示的带符号的数的范围是-(2^(n-1)-1)~2^(n-1)-1
。
当机器字长n=4时,能表示的带符号的数有2^4-1
个。
当机器字长为n时,能表示的带符号的数有2^n-1
个。
反码和原码能表示的范围和个数相同。
3.2 补码、移码能表示的范围
【特殊值】
没有任何一个数可以推出的它补码是1000。
人为规定-8的补码是1000
。
补码相对于原码和反码还能表示一个更小的数(-8)
。
(时间紧任务重,不用花时间理解这句话,记住就行。)
补码和移码中:
当机器字长n=4时,能表示的带符号的数的范围是-8~+7
即-(2^3)~2^3-1
。
当机器字长为n时,能表示的带符号的数的范围是-(2^(n-1))~2^(n-1)-1
。
当机器字长n=4时,能表示的带符号的数有2^4
个。
当机器字长为n时,能表示的带符号的数有2^n-1
个。
【总结】
4. 机器字长为n时各种码制能表示的定点小数的取值范围
小数点位置是固定的,称为定点小数。例如0.1111。
小数点位置是浮动的,称为浮点小数。(下一节学习)
4.1 原码、反码能表示的范围
【公式推导】
假设机器字长n=4,即是有4位二进制数。
n=4时,最高位为符号位,剩下3位为数值位。
机器字长n=4,能表示的最大的小数是:符号位为+
,后3位为111,即0.111(这是二进制的0.111)。
将0.111转换为10进制:0.111(B)=2^(-1)+2^(-2)+2^(-3)
,这个数不太直观,那0.111的十进制数是多少呢?
我们可以这样计算:
0.111(B)+0.001(B)=1(B)(这里的1是二进制)
0.111(B) = 1(B)-0.001(B)
0.111(B) = 2^0-2^(-3)
0.111(B) = 1-2^(-3)
因此0.111(B)转换为10进制就等于1-2^(-3)
。
机器字长n=4,能表示的最大的定点小数是:1-2^(-3)
。
机器字长n=4,能表示的最小的定点小数是:符号位为-
,后3位为111,即-0.111。
-0.111=-(1-2^(-3))
-7到+7之间总的有15个数,15=16-1=2^4-1
。
【结论】
当机器字长n=4时,能表示的带符号的定点小数的范围是-(1-2^(-3))~1-2^(-3))
。
当机器字长为n时,能表示的带符号的数的范围是-(1-2^(-(n-1)))~1-2^(-(n-1))
。
当机器字长n=4时,能表示的带符号的数有2^4-1
个。
当机器字长为n时,能表示的带符号的数有2^n-1
个。
反码和原码能表示的范围和个数相同。
4.12 补码、移码能表示的范围
【特殊值】
人为规定-1的补码是1000
。
补码相对于原码和反码还能表示一个更小的数(-1)
。
补码和移码中:
当机器字长n=4时,能表示的带符号的定点小数的范围是-1~1-2^(-3)
。
当机器字长为n时,能表示的带符号的数的范围是-1~1-2^(-(n-1))
。
当机器字长n=4时,能表示的带符号的数有2^4
个。
当机器字长为n时,能表示的带符号的数有2^n
个。
5. 真题回顾
采用n位补码(包含一个符号位)表示数据,可以直接表示的数值是()。
A. 2^n
B. -2^n
C. 2^(n-1 )
D. -2^(n-1 )
【思路解析】
四大码制能表示整数,也能表示小数。
通过答案我们可以看出,这里只用关注能表示的整数即可。
因为整数的表达方式幂次方为n-1是正数,而小数的表示方幂次方是-(n-1)是辅助。
这里的幂次方是n或n-1,是正数,因此只用关注能表示的整数范围即可。
我们记不住公式,我们直接记住特殊数字案例即可。
补码能表示的范围是-8~+7
,即负的2的3次方
到2的3次方-1
。
替换为n,补码能表示的范围是负的2的n-1次方
到2的n-1次方-1
。
先看正数,可以表示到2的n-1次方-1
,AC选项都比要表式的值大,错误。
再看负数,可以表示到负的2的n-1次方
,B选项值也大,错误。
正确答案:D
6. 真题回顾
机器字长为n位的二进制数可以用补码来表示()个不同的有符号的定点小数。
A. 2^n
B. 2^(n-1)
C. 2^(n-1 )
D. 2^(n-1) +1
【思路解析】
大家记住n=4这个案例即可。
字长为4的二进制数的补码可以表示16个定点小数,即2^4。
字长为N的二进制数的补码可以表示2^n
个定点小数。
正确答案:A
7. 真题回顾
某机器字长为n,最高位是符号位,其定点整数的最大值为()。
A. 2^n-1
B. 2^(n-1)-1
C. 2^n
D. 2^(n-1)
大家记住n=4这个案例即可。
字长为4的二进制数可以表示的最大整数是7=2^3-1。
字长为n的二进制数可以表示的最大整数是2^(n-1)-1。
正确答案:B
8. 总结
【本节总结】
【本章总结】