C语言中的float数据用32位存储,其中有6位为小数位,那么小数点后的值应该不超过2^6-1,而实际上却是保留小数点后6位,这是怎么回事?
你的问题本身就不对,float的位数精度是23位,也就是1/2^23,折算成10进制,在1/10^6.x,为了不丢失最后的那一点精度,所以用7位表示尾数而不是6位。
http://blog.csdn.net/dxy612/article/details/5518477
首先我的观点同上,补充一点,float的位数精度是编译器相关,并且是平台相关的,不能一概而论.