Vergleich von float und double Variablen [duplicate]

Mögliche Duplikate:
Differenz zwischen float und double
seltsame Ausgabe im Vergleich von float mit float-Literal

Ich verwende Visual C ++ 6.0 und vergleiche in einem Programm Float- und Double-Variablen. Zum Beispiel für dieses Programm

#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;
 }  

Ich erhalte 1 0 0 als Ausgabe

und fü

#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;
 }  

Ich erhalte 0 1 0 als Ausgabe.

Bitte sagen Sie mir, warum ich diese seltsamen Ausgaben erhalte und ob es eine Möglichkeit gibt, diese Ausgaben auf demselben Prozessor vorherzusagen. Wie werden zwei Variablen in C verglichen?

Antworten auf die Frage(8)

Ihre Antwort auf die Frage