3. 机器字长为n时各种码制表示的带符号数的取值范围

文摘   教育   2024-03-26 23:04   云南  


【目录】


  • 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个。

【总结】

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个。

2

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. 总结

【本节总结】

3.各种码制表示的带符号数的取值范围1

【本章总结】

4.第一章 计算机系统


安迪python学习笔记
python学习笔记,适合初学者。
 最新文章