将十进制数转化成IEEE754格式

将十进制数转化成IEEE754格式

快期末考试了,在复习《计算机组成与系统结构》时对将十进制数转化为IEEE754格式这个知识点很困惑,怪自己在老师当初讲的时候没好好听讲,好在查阅了资料后弄懂了这个知识点,便记录下来给也有这个疑惑的同学给个参考,也便于日后自己温习。

IEEE754浮点数标准

目前几乎所有计算机都采用IEEE754标准表示浮点数。在这个标准中,提供了两种基本浮点格式:32位单精度和64位双精度格式。
格式如下:

         32位单精度:符号(1位)+阶码(8位)+尾数(23位)
         64位双精度:符号(1位)+阶码(11位)+尾数(52位)

计算过程:

 有两种基本浮点格式,我们通过一个例子来详细介绍十进制数如何转换为32位单精度格式的,就以我老大的生日 (8.17)来举例。
   (1)首先计算符号位,8.17是正数,所以符号位为 0。
   (2)计算阶码:先将十进制数转化为二进制,小数点左边的8转为1000,小数点右边进行乘二取整运算(结果大于1则取1,小于1则取0)
          0.17x2=0.34     (0)
          0.34x2=0.68     (0)
          0.68x2=1.36     (1)
          0.36x2=0.72     (0)
          0.72x2=1.44     (1)
          0.44x2=0.88     (0)
          0.88x2=1.76     (1)
          ......
          0.12x2=0.24     (0)
          0.24x2=0.48     (0)
          0.48x2=0.96     (0)
          0.96x2=1.92     (1)
          由于小数点左边已有四位二进制数,所以小数点右边二进制只取二十位(这里需要解释下:由于尾数是用原码表示,第一位总为一,因而可在尾数中省略称为隐藏位的第一位1,所以需要计算24位二进制码),则8.17的二进制表示为:1000.0010 1011 1000 0101 0001。将小数点左移三位,得1.000 0010 1011 1000 0101 0001*2^3。得到阶码为:3+127=130,转成二进制是10000010,至此得到阶码为10000010。
     (3)计算尾数:上一步计算阶码时,小数点左移三位后小数点右边的23位数就是尾数,即000 0010 1011 1000 0101 0001   
     (4)结果:十进制数8.17转化为IEEE754格式32位单精度格式的结果为:
                           符号位(1位)+     阶码(8位)    +  尾数(23位)
                                     0                    10000010           00000101011100001010001

(原创文章,转载请麻烦注明下出处,非常感谢!)

  • 26
    点赞
  • 123
    收藏
    觉得还不错? 一键收藏
  • 15
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值