float a = 1, b, c, d;
b = a/10;
c = b/10;
d = c/10;
上述代码,在执行到d=c/10时,会得到d=0.0009999999的错误结果,但float的精度不是有6~7位吗?
float a = 1, b, c, d;
b = a/10;
c = b/10;
d = a/1000;
上述代码,则可以得到正确结果d=0.001
double a = 1, b, c, d;
b = a/10;
c = b/10;
d = c/10;
上述代码,也能得到正确结果d=0.001。
怎么回事啊?
|