软考笔记(3)——浮点数

1.讲解

在这里插入图片描述
在这里插入图片描述

1.1 浮点数

浮点数:类似科学计数法那种就是浮点数。做运算时,小数点位置可以变化(反正都表示这个数)。

1.2 如何对阶

何为对阶?
0.1112×10⁴,那它的阶码就是4
0.9821×10⁶,它的阶码是6
0.1112×10⁴+0.9821×10⁶如何计算?
首先把阶码对好。那么是10⁴去对10⁶还是反过来?
首先浮点表示法中尾数是纯小数,是小于1的
10⁶去对10⁴时,
0.9821×10⁶=98.21×10⁴,98被舍弃,就变成了0.21×10⁴
损失了多少?原先是982100,现在是2100,损失980000,悲不悲惨?壮不壮烈?
但要是小阶对大阶,0.1112×10⁴=0.0011×10⁶,损失多少?原来1112,现在1100,也就12,相比大阶对小阶损失980000,谁好谁劣一目了然。
因此对阶都是小阶对大阶,损失低位数。

1.3规范化浮点数范围

浮点数的范围由阶码决定,精度由尾数决定。
在这里插入图片描述
解释一下这个最大正数和最小负数
n位移码可表示的最大值2ⁿ⁻¹-1
n位补码浮点数的最小值是-1,最大值是1-2⁻﹙ⁿ⁻¹﹚

2.写题

1

在这里插入图片描述
首先,写题我是反对死记公式的(因为我自己记不住)。所以这题我一步步推理。
求尾数和阶码。

阶码容易求,直接求它的最大值就行。负数乘以最大阶码获得最小的负数,正数乘以最大阶码获得最大的正数。
阶符一位,求阶码最大值,阶符当然就是正了。
阶码值6位,那么阶码值最大值为1 1 1 1 1 1也就是2⁶-1=63
所以阶码为2⁶³

求尾数,数符1位,那么最小值负数为-1,补码的浮点数的最小值都是-1。
尾数最大值,尾数数符1位为正,尾数8位,所以尾数最大值为1-2⁻⁸

因此该浮点数所能表示的数值范围是B

2

在这里插入图片描述
(3)
B记一下
C错了,因为规格化是指将尾数的绝对值限定在[+0.5,1)。这里有的人说左闭右开有的人说左闭右闭。个人赞同前者。

(4)
选D

3

在这里插入图片描述
阶码变大,数的范围变大。尾数位数变少,精度下降。选A

4

在这里插入图片描述
小数点是隐含存在的,不需要占用存储位。选B

5

在这里插入图片描述
n位,其实就是每一位都有2种选择,0或1。所以补码和移码n位可表示2ⁿ个不同的有符号定点小数。
而原码和反码就只能表示2ⁿ-1个数,因为它们有两个编码都表示0。

这里提一嘴,小数里的个数千万别用最大值减最小值加一。给你举个例子。-1到0.5有多少个数字。
0.5-(-1)+1=2.5,那不是扯吗,本来小数就表示不了个数。2.5个人吗?再者小数的精度没完没了,可以说-1到0.5有无数个数字,没有标准,从何算起。

因此最大值减最小值加一这个只适用于整数。

可别憨憨地就用这个表的定点小数范围去算了。
在这里插入图片描述

6

在这里插入图片描述
闭眼选B

7

在这里插入图片描述
闭眼选D,原理我上面讲了。

8

在这里插入图片描述
阶码以补码表示,补码的补码等于原码。10001的补码等于11111,也就是-15
所以阶码为2⁻¹⁵
尾数,符号位表示为正,数值位有是尾数数值位的最后一位为1,所以是2⁻¹⁰
所以选B

  • 2
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值