gcc 2.7.2 .3 bug??

Erol Ozcan (eozcan@superonline.com)
Sun, 26 Jul 1998 18:35:22 +0000


Merhaba,

GNU C Compiler 2.7.2.3 de yazdigim programcigi derleyip
calistirdigimda
ekrana ilginc sonuclar cikiyor. Yapilan islem bir basit bolme islemi.
237.0 / 5.0
bolundugunde 47.4 cikmasi gerekirken 47.400002 cikiyor. 237.0/5.0 sonucu

degiskene atanip 5.0 ile carpildiginda 237.0000000 sonucunu alabiliyorum

ama 4.0 ile carptigimda 187.600006 oluyor. Aradigim kadariyla gcc nin
yeni versiyonunuda gormedim. Sanirim printf de bir sorun var. Nedir bu
isin sirri?

#gcc ornek.c -o ornek
#./ornek
Toplam =237.000000
Ortalama = 47.400002
4 ile carpimi =189.600006
5 ile carpimi =237.000000
5 * ortl =237.000008

iyi calismalar...

Erol Ozcan
infoTRON A.S.
Sys Admin
email: eozcan@superonline.com
web: www.infotron-tr.com

-------ornek.c------------
float data[5];
float toplam,ortl,carp,carp2;

int main()
{
data[0]=43.0; data[1]=11.2;
data[2]=65.7; data[3]=23.1;
data[4]=94.0;

toplam=data[0]+data[1]+data[2]+data[3]+data[4];
ortl=toplam / 5.0;
carp= ortl*4.0;
carp2= ortl*5.0;
printf("Toplam\t\t=%f\nOrtalama\t= %f \n",toplam,ortl);
printf("4 ile carpimi\t=%f\n",carp);
printf("5 ile carpimi\t=%f\n",carp2);
printf("5 * ortl\t=%f\n",ortl*5.0);
return(0);
}

--------son--------------