浮点数的表示

由于机器字长有限,定点数不能表示很大或者很小的实数,直接导致产生了实数近似值的表示方法——浮点数。

value = sign * exponent * fraction
sign:符号位,表示浮点数正负
exponent:指数位
fraction:有效数位
float32.png

32位浮点数:

    最高位是1位的sign,
    之后是八位的指数exponent,
    最后是23位的有效位fraction
float64.png

64位浮点数:

    最高位是1位的sign
    之后是11位的exponent
    最后是52位的fraction

计算:

    十进制的5.0.二进制相当于101.0,相当于1.01×2^2。
    从而推断出s=0,M=1.01,E=2。
    十进制的-5.0,写成二进制是-101.0,相当于-1.01×2^2。
    那么,s=1,M=1.01,E=2。

你可能感兴趣的:(浮点数的表示)