一、浮点数的转换:下面这篇博客,讲的很好:
单精度浮点数的存储-转自hb.g@163.com_foxdesert的专栏-CSDN博客blog.csdn.net二、浮点数的有效位:
因为单精度浮点数尾数部分是23位,所以从小数来看,可以表示的最小浮点数,不考虑(整数位)是:
(1 or 0)* 2^-23,那么前面一位是(1 or 0) * 2^-22,具体见下表:
可以看到在最高位只有23限制的情况下,2^-23和2^-22之间的数是不一定表示的出来的,是不一定,也是有可能表示出来的,比如:2^-22和2^-21之间的数有一个2^-22+2^-21是可以表示出来的,其他的并不是所有的都可表示出来,但是一般小数点后前7位都是可以表示出来的,即通过这些数相加来配凑,所以一般尾数是23位数的情况下,有效位是7-8位。个人觉得前7位一定可以表示出来,第8位开始有一部分可以表示,越到后面越难表示了:看下例子