float为32bit,double为64bit,他们的存储都是遵从IEEE规范的

  • 符号位(Sign) : 0代表正,1代表为负
  • 指数位(Exponent):用于存储科学计数法中的指数数据,并且采用移位存储
  • 尾数部分(Mantissa):尾数部分
  • IEEE754三种浮点数的格式参数   


    类型
    数符(s) 阶码(E) 尾数(M) 总位数 E存储移位 十六进制 十进制
    单精度(Single,Float) 1位 8位 23位 32位 127 0x7FH +127
    双精度(Double) 1位 11 位 52位 64位 1023 0x3FFH +1023

    在计算机中,要将数字首先转化为二进制数的科学计数表示

    如10.25f用二进制表示为:0000 1010.01

    科学计数表示为1.01001*2^3

    S:0

    E:E-127=3 E=130

    M:01001

    在计算机中的单精度存储

     0  1000 0010   0100 1000 0000 0000 0000 000

    双精度存储

    S:0

    E:E-1023=3 E=1026

    M:01001

     

    那么负数呢

    如-0.5f  的单精度

      二进制表示:-0.1 标准计数: -1.0*(2的-1次幂)

    S:1

    E:E-127=-1 E=126    01111110

    M:23个0

     在计算机中存储为:

    1 01111110  0000 0000 0000 0000 0000 000

     双精度存储类似

     

    相关文章:

    • 2021-09-21
    • 2021-05-24
    • 2021-12-12
    • 2021-11-18
    • 2022-12-23
    • 2021-06-28
    • 2021-12-02
    • 2021-07-29
    猜你喜欢
    • 2021-05-31
    • 2021-11-01
    • 2021-12-13
    • 2022-01-29
    • 2022-01-30
    相关资源
    相似解决方案