小编Joh*_*ohn的帖子

在c中遇到麻烦

在试图弄清楚如何将浮子环绕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吗?任何帮助将不胜感激.谢谢.

c floating-point rounding floating-accuracy

3
推荐指数
1
解决办法
185
查看次数

标签 统计

c ×1

floating-accuracy ×1

floating-point ×1

rounding ×1