bug v gcc - float a funkce s promenym poctem porametru v C

Jan Kybic kybic na circhp.epfl.ch
Čtvrtek Říjen 30 14:29:39 CET 1997


Nepatri to prilis do teto konference, ale je pravda, ze se s tim
clovek setkava casto, a taky nechceme nechat sirit nejake famy o gcc,
tak budiz:

>to jsou dve veci 1) float nelze porovnavat s konstanoou
>a funkce s promennym poctem parametru nelze predavat typ
>float ( s pointrem na float to chodi )
>
>prosim o vysvetleni

Jak se clovek docte v kazde dobre ucebnici jazyka C, tento jazyk z ne
zcela jasnych duvodu provadi veskere vypocty s s pohyblivou radovou
carkou s presnosti double, ac jsou operandy typu float. (U nekterych
kompilatoru se tomu lze vyhnout, ale je potreba nastavit nejaky
prepinac.) A pokud vezmu cislo presnosti double a zkonvertuji ho na
float, pak se obecne vysledek nebude rovnat puvodnimu cislu, proto
selze zminene porovnavani. Vubec porovnavat realna cisla na presnou
shodu neni rozumne.

Co se tyka druhe otazky, odpoved je jednoducha: Pro formatovaci znak
'f' printf ocekava cislo typu double a nikoli float. 

Honza

-- 
-------------------------------------------------------------------------
Jan Kybic <xkybic na sun.felk.cvut.cz>        (Můžete psát i s diakritikou) 
http://cmp.felk.cvut.cz/~kybic/       tel. 42-2-301 88 26
For PGP key finger kybic na fu.felk.cvut.cz or see my WWW page.


Další informace o konferenci Linux