Shu*_*ham 4 c c++ floating-point
可能重复:
与float文字的float比较中的奇怪输出
#include<stdio.h>
int main()
{
float me = 1.7;
if(me==1.7)
   printf("C");
else
   printf("C++");
}
Output: C++
Run Code Online (Sandbox Code Playgroud)
现在说这种行为的原因是许多浮点数不能用二进制的绝对精度表示.
我的问题是 - 如果计算机以二进制形式思考和操纵.代表性的任何不确定性在比较时me都是相同的1.7.所以两者都应该是平等的.
那么类型转换如何解决这个问题呢? (float)1.7
|   归档时间:  |  
           
  |  
        
|   查看次数:  |  
           808 次  |  
        
|   最近记录:  |