浮点数的表示方法及换算技巧



32位的浮点数中: 
S:浮点数的符号位,1 位。0表示正数,1表示负数。
M:尾数,23位。用小数表示,小数点在尾数域前面。
E:阶码,采用移码方式来表示。移码方法对两个指数大小的比较和对阶操作都比较方便,因为阶码域值大者其指数值也大。采用这种方式时,将浮点数的指数真值e 变成阶码E 时,应将指数 e 加上一个固定的偏移值127(01111111),即 E=e+127

浮点数的真值x一般为(-1)^s × (1.M) × 2^e 32位浮点数e=E-12764位浮点数e = E-1023

例题1. 若浮点数x的二进制存储格式为(41360000)16进制,求其32位浮点数的值。
将16进制数转换为2进制 0100 0001 0011 0110 0000 0000 0000 0000
则e = 10000010 - 01111111 = 3(十进制)
M = 01101100000000000000000
则x = (-1)^0 × 1.011011× 2^3 = 1011.011(2进制)
= 11.375(十进制)

[例2] 将十进制数20.59375转换成32位浮点数。 
[解:] 首先分别将整数和分数部分转换成二进制数:
              20.59375=10100.10011
  然后移动小数点,使其在第1,2位之间
    10100.10011=1.010010011 × 2^4   e=4
  于是得到:
             S=0,E=4+127=131,M=010010011
  最后得到32位浮点数的二进制存储格式为:
           0100 0001 1010 0100 1100 0000 0000 0000
        =41A4C000(16进制)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值