float在内存中的方式

来源:互联网 发布:证券公司软件哪家好 编辑:程序博客网 时间:2024/06/05 00:10

类型(Type)

 

存储位数(Bits)

总位数(Total)

偏移值(Offset)

数符(S)

阶码(E)

尾数(M)

 


 


短实数(float)

1

   8

   23

       32

127

长实数(double)

1

11

   52

       64

1023

N (10) = 123.456,

换算成二进制表示:

N (2) = 1111011. 01110100101111001 = 1. 11101101110100101111001(...) * 2^6

那么

E – 127 = 6; E = 127 + 6 = 133(10) = 10000101(2)

M = 111 0110 1110 1001 0111 1001 (省略了最高数字位1, 共23bit)

组合起来就是:

S             E                               M

0        10000101      111 0110 1110 1001 0111 1001

4bit一间隔:

0100    0010    1111   0110   1110   1001   0111   1001

4         2         F        6        E        9        7        9