一个诡异的C语言问题
- C/C++ code
#include "stdio.h"void main (){ float a=111111.111f; double b=111111.111; printf("%f,%f",a,b);}
运行结果是:111111.109375,111111.111000
为什么结果会是111111.109375??
[解决办法]
float 和double有效数位不一样
[解决办法]
[解决办法]
float的总共有效位确实是7位,所以111111.111f变为111111.109375