Christian PANEL
2008-05-16 23:20:24 UTC
le code suivant
#include <stdio.h>
#include <conio.h>
#include <math.h>
int main()
{
double d1 = 4.5868578588821;
double d2 = 4.5868578588820;
float f1 = d1;
float f2 = d2;
puts("d1 != d2");
puts(d1!=d2 ? "OUI" : "NON");
puts("f1 != f2");
puts(f1!=f2 ? "OUI" : "NON");
puts("float(d1) != float(d2)");
puts(float(d1)!=float(d2) ? "OUI" : "NON");
getch();
provoque la sortie
OUI NON OUI sur TOUS les compilateurs borland y compris Builder2007
et
OUI NON NON sur les compilateur MSC et GNU (ce qui est là normal)
#include <stdio.h>
#include <conio.h>
#include <math.h>
int main()
{
double d1 = 4.5868578588821;
double d2 = 4.5868578588820;
float f1 = d1;
float f2 = d2;
puts("d1 != d2");
puts(d1!=d2 ? "OUI" : "NON");
puts("f1 != f2");
puts(f1!=f2 ? "OUI" : "NON");
puts("float(d1) != float(d2)");
puts(float(d1)!=float(d2) ? "OUI" : "NON");
getch();
provoque la sortie
OUI NON OUI sur TOUS les compilateurs borland y compris Builder2007
et
OUI NON NON sur les compilateur MSC et GNU (ce qui est là normal)