关于求浮点数表示的数值范围的问题

本文通过实例解析了16位浮点数中,阶码用移码表示,尾数用补码表示的情况下,如何计算其表示的数值范围,包括最小值(-1*63)和最大值((1-2^(-8))*63)。
摘要由CSDN通过智能技术生成

例题

设16位浮点数,其中阶符1位、阶码值6位、数符1位、尾数8位。若阶码用移码表示,尾数用补码表示,则该浮点数所能表示的数值范围是()。

本题考察补码和移码的表示范围

①求最小值

浮点数由尾数加阶码组成,要想浮点数最小,就要使尾数最小阶码最大,然后相乘

1.尾数是小数且由补码表示,由表可知补码的定点小数最小为-1则尾数最小为-1,

2.下面看阶码,阶码为整数,且阶码值由移码来表示,要使阶码最大则看移码的整数最大2^{n-1}-1,这里n是指总的位数,包括了数符位1位,所以n=1+6=7位;带入到上式,得到移码最大为2^{6}-1=63

所以阶码就是2^{63}

3.相乘我们得到浮点数的最小值为-2^{63}

②求最大值

要求浮点数的最大值就要使尾数最大阶码最大,然后相乘

1.同理要使尾数最大,就要看补码的小数最大值是多少,查表得知是1- 2^{1-n},n=1+8=9,带入上式:

得到1-2^{-8}

2.阶码最大为2^{63},前面已经求出来了。

3.相乘我们得到最大值为(1-2^{-8}2^{63}

③得出答案

答案选B

  • 12
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Gabriel Drop Out

饿饿!饭饭!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值