小编Dey*_*eya的帖子

2
推荐指数
1
解决办法
68
查看次数

为什么浮点数为5的最后一个十进制数字在浮点数比较中给出了正确的输出,而在其他情况下它不是?

我已经问过这个问题了,但这个特定子部分的答案对我来说并不清楚.请参阅以下代码:

float f=2.5;
if (f==2.5)
printf("abc");
else
printf("xyz"); //prints abc
Run Code Online (Sandbox Code Playgroud)

我知道如果我们2.2取而代之2.5,它将输出相反的值,因为float被视为double和浮点nos.他们真的不应该等同吗?我想知道为什么有一个例外,数字有他们的最后一个十进制数字5.

c c++ floating-point precision

1
推荐指数
2
解决办法
134
查看次数