浮点数IEEE表示

小数位的二进制是 乘2取整  0.5 -> 1   0.25 -> 01

------------------------------------------------------------------------------

float在内存中占4个字节,布局:

S(符号位1位)E(指数位8位)D数据位(23位)

float在 >= (1<<23 ‘二进制’),小数位精度就有误差了

同理 double在内存中涨8个字节,布局:

S(符号位1位)E(指数位11位)D数据位(52位)

E位的编码形式并非常用的补码形式(正数是它本身,负数符号位变1数据取反加一),而是把E位的8位能代表的数据空间(0-255)左右分为两半,以127为中点,代表0。如果指数为是1,则E位是128;如果指数位是2,则E位是129;如果指数位是-1,则E位是126,以此类推。

猜你喜欢

转载自blog.csdn.net/insaneNx/article/details/81664304