IEEE754浮点数数

本文深入探讨了IEEE754浮点数标准,包括其标准形式、不同浮点数的表示方式,如短实数、长实数和临时实数。详细解析了浮点数在计算机中的表示,如数符、阶码(移码表示)和尾数(规格化原码)。通过实例解释了如何表示和计算浮点数,特别强调了数0的保存方式,即阶码和尾数全零。此外,还讨论了IEEE754表示的数值范围和简化机器判0电路的设计考量。
摘要由CSDN通过智能技术生成

1.IEEE754浮点数标准

1.1标准形式

S(数符)阶码(含阶符)尾数

1.2不同的浮点数标准

符号位S阶码尾数总位数
短实数182332
长实数1115264
临时实数1156480

2 IEEE754浮点数在计算机中的表示方法

数符:直接用原码表示

阶码:用移码表示,设阶码位数为n,则阶码偏移量为 2 n 2^n 2n - 1,即8位阶码的浮点数中的阶码应该偏移127

尾数:用原码表示,其中表示的数为规格化数,最高位,即个位1被隐藏

2.1 IEEE754浮点数表示实例(来源于唐朔飞《计算机组成原理》)

实数表示数值
原始十进制数178.125
二进制数10110010.001
二进制浮点表示1.0110010001* 2 111 2^{111} 2111(规格化表示)
符号偏移的阶码有效值(原码表示)
短实数表示000000111+01111111=10000110(偏移量为127符号位为最高位,可以通过符号位判断阶码的偏移方向,即0为反向偏移,阶码为负数;1为正向偏移,阶码为正数。)01100100010000000000000(由于是规格化数且基数为2,所以最高位的1被隐藏,符号位在第一位)

在此提出一个问题,阶码用移码,和尾数用规格化原码对于数0应该如何保存。

设阶码位数为n,尾数位数为m。IEEE754标准的浮点数表示范围从- 2 n 2^n 2n* 2 − m − 1 2^{-m-1} 2m1 2 n 2^n 2n* 2 m − 1 2^{m-1} 2m1那自然能够表示0

实际上

符号阶码尾数
00000 00000000 ······ 0000

表示数0,即阶码和尾数都为全零,这样有利于简化机器中的判0电路。

单一的阶码或者尾数为零不能判断浮点数为零

用IEEE754表示的C800 0000H的真值为

C800 0000H=1100 ······ 0000

IEEE854表示为

符号阶码尾数
11001 00000000 ······ 0000

尾数为原码,考虑规格化,容易知道

尾数=1

阶码为移码,偏移量为127,阶符为1即为正向偏移,容易算出

阶码=1001 0000 - 0111 111=0001 0001=17

即C800 0000H=1*- 2 17 2^{17} 217=- 2 17 2^{17} 217

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值