小编Che*_*rma的帖子

浮点数和双变量的比较

可能重复:浮点数与浮点字面值的比较中浮点数
和双奇数输出之间的差异

我正在使用visual C++ 6.0,在程序中我比较float和double变量例如这个程序

#include<stdio.h>
int main()  
{    
    float a = 0.7f;
    double b = 0.7; 
    printf("%d %d %d",a<b,a>b,a==b);
    return 0;
 }  
Run Code Online (Sandbox Code Playgroud)

我得到1 0 0作为输出

并为

#include<stdio.h>
int main()  
{    
    float a = 1.7f;
    double b = 1.7; 
    printf("%d %d %d",a<b,a>b,a==b);
    return 0;
 }  
Run Code Online (Sandbox Code Playgroud)

我输出0 0 0.

请告诉我为什么我得到这些奇怪的输出,有没有办法在同一个处理器上预测这些输出.如何比较C中的两个变量?

c floating-point double comparison

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

标签 统计

c ×1

comparison ×1

double ×1

floating-point ×1