- 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。
怎么回事啊?
|