浮点数的二进制表示-实例

/* 注意,形如2[3]表示2的3次方 */
实例一 :38414.4 的IEEE浮点数表示法(double):
double型的指数域有11位,所以偏置值为 2[11-1]-1 = 1023
38414.4 = 1001011000001110. 0110011001100110011001100110011001101 = 1. 0010110000011100110011001100110011001100110011001101*2[15]
//0.4=0.5*0+0.25*1+0.125*1+0.0625*0+……没完没了,但小数域只需52位,整数部分已经有了15位,故小数部分只需取37位.
指数域 = (15+1023)B = 1000 0001 110
小数域 = 0010 1100 0001 1100 1100 1100 1100 1100 1100 1100 1100 1100 1101
最终表示:
0 1000 0001 110 0010 1100 0001 1100 1100 1100 1100 1100 1100 1100 1100 1100 1101
符号 指数域 (11) 小数域(52)
格式化为:
01000000 11100010 11000001 11001100 11001100 11001100 11001100 11001101

实例二: 234.5 的IEEE浮点数表示法(double):
double型的指数域有11位,所以偏置值为 2[11-1]-1 = 1023
234.5 = 11101010.1 = (1. 11010101)*2[7]
指数域 = (7+1023)B = 1000 0000 110
小数域 = 1101 0101 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
//小数域需要52位,但11010101只有8位,不足就后面补0.
最终表示:
0 1000 0000 110 1101 0101 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
符号 指数域(11) 小数域(52)
格式化为:
01000000 01101101 01010000 00000000 00000000 00000000 00000000 00000000

实例三:3490593.0 的IEEE浮点数表示法(float):
float型的指数域有8位,所以偏置值为 2[8-1]-1 = 127
3490593.0 = 1101010100001100100001.0 = 1. 1010101000011001000010*2[21]
指数域 = (21+127)B = 1001 0100
小数域 = 1010 1010 0001 1001 0000 100
最终表示:
0 1001 0100 10101010000110010000100
符号 指数域(8) 小数域(23)
格式化为:
01001010 01010101 00001100 10000100
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值