shr*_*sva 3 c c++ floating-point
可能重复:
与float文字的float比较中的奇怪输出
float a = 0.7;
if (a < 0.7) ;
Run Code Online (Sandbox Code Playgroud)
为什么这里的表达式评估为真?
浮点数的精度有限.0.7最有可能无法准确表示,因此a中的值可能是浮点数的0.6999999999982左右.这比较一个双0.7(更精确:0.6999999999999999999999999384)会显示它更少.
看看这个:http://docs.sun.com/source/806-3568/ncg_goldberg.html