浮点型在计算机中的存储

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

     双精度存储类似

     

    posted on 2010-11-30 14:14  bobo327  阅读(1392)  评论(0编辑  收藏  举报