在试图找出如何将1.255
的浮点数舍入到最近的百分之一时,我发现了一些有趣的东西。我在Debian 6上使用gcc 4.4.5。
int x = (1.255 * 100) + 0.5; // gives me back 125 instead of 126.
float y = (1.255 * 100) + 0.5; // gives me back 126.000000.
为什么当我保存到int
时,我会回来125
而不是126
?在Fedora中,当我将上述表达式保存到int
时,我回来126
。这是debian中的gcc bug吗?任何帮助将不胜感激。
感谢。