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?