单精度浮点数与十进制数据相互转换

一、float基础:

        Float类型占4个字节,也就是32bit,其中最高位是符号位,2~9位是指数位,后边的23bit是数值位.如下所示

da2559cf550447c3bb13b61393b3b461.png        大部分数据的二进制形式都可以用科学计数法表示,即1.m*2^n这种形式,只要知道m和n,就能确定一个数值

二、小数位如何转变为二进制:

        下面我们具体计算一下0.6的小数表示过程

0.6 * 2 = 1.2 ——————- 1 
0.2 * 2 = 0.4 ——————- 0 
0.4 * 2 = 0.8 ——————- 0 
0.8 * 2 = 1.6 ——————- 1 
0.6 * 2 = 1.2 ——————- 1 

        我们可以发现在该计算中已经出现了循环,0.6用二进制表示为 1001 1001 1001 1001 …… 
        如果是10.6,那个10.6的完整二进制表示为 1010.100110011001……     

         0.6 = 1 * 2^-1 + 0 * 2^-2 + 0 * 2^-3 + 1 * 2^-4 + ……     

        2^-1=1/2=0.5  

        2^-2=1/4=0.25

        2^-3=1/8=0.125

        ......        

三、二进制转单精度浮点数公式:

        方便区分假设下面是float 的二进制数:</

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值