在c中遇到麻烦

时间:2012-03-14 00:34:14

标签: c floating-point rounding floating-accuracy

在试图找出如何将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吗?任何帮助将不胜感激。 感谢。

0 个答案:

没有答案