在试图弄清楚如何将浮子环绕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.
Run Code Online (Sandbox Code Playgroud)
为什么当我保存到一个int我回来125而不是126?在fedora中,当我将上面的表达式保存到一个int我回来的时候126.这是debian中的gcc bug吗?任何帮助将不胜感激.谢谢.