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

  • 相关阅读:
    JCreator的配置
    哈夫曼编码
    最小生成树
    逻辑左移右移与算术左移右移
    原码 反码 补码 移码
    hdu 小希的迷宫
    (二)Qt窗口应用程序Widget
    (一)Qt5模块,QtCreator常用快捷键,命名规范
    if __name__="__main__"
    数据库之sql语句汇总
  • 原文地址:https://www.cnblogs.com/swack/p/5681999.html
Copyright © 2011-2022 走看看