zoukankan      html  css  js  c++  java
  • float与double剖析

    今天研究下float与double的编码

    float:

    我们来看一下这组数是如何一步步从16进制转换到float的

    float编码格式:

    1、将16进制转换到2进制

    整理后:0 1000 0010 100 0100 0000 0000 0000 0000

        =符号位

        =指数位

        =尾数部分

    首先将指数为换算到十进制=130

    大家都知道,float的范围为-2^128 ~ +2^128

    所以此处获得指数 x=130-127=3

    float值 y=1.10001*2^x (1.XX  XX处填写尾数部分有效位)=1.10001*2^3=1100.01(此处是二进制表示)

    1100.01 换算到十进制为 y=12+(1/2)^2=12+0.25=12.25

    dobule

    其实double和float是一样的道理,那我们往下看下

    float编码格式:

    1、将16进制转换到2进制

    整理后:0 100 0000 0010 1000 1000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000

        =符号位

        =指数位

        =尾数部分

    首先将指数为换算到十进制=1026

    大家都知道,double的范围为-2^1024 ~ +2^1024

    所以此处获得指数 x=1026-1023=3

    float值 y=1.10001*2^x (1.XX  XX处填写尾数部分有效位)=1.10001*2^3=1100.01(此处是二进制表示)

    1100.01 换算到十进制为 y=12+(1/2)^2=12+0.25=12.25

  • 相关阅读:
    图论————最短路,最小生成树。
    复习KMP
    P3930 SAC E#1
    P3818 小A和uim之大逃离 II
    洛谷P3928 SAC E#1
    洛谷-P3927 SAC E#1
    求逆欧拉函数(arc)
    《公式证明:欧拉函数》
    求一个极大数的欧拉函数 phi(i)
    仙人掌(cactus)
  • 原文地址:https://www.cnblogs.com/swack/p/5681999.html
Copyright © 2011-2022 走看看