linux-l: C frage

Gregor Kopij gkopij at kokinet.com
Di Apr 14 20:21:00 CEST 1998


>Ist das nicht eher ein prinzipielles "flouting Point" Problem ?
>
>Das 0.0 nicht gleich 0 ist findet man in Basic, Pascal auch wieder...
>Das ändert sich auch nicht wenn man die Anzahl der relevanten Stellen
>verdoppelt.
>Das hat meiner Ansicht nach nichts mit C zu tun. Es hängt wohl damit
>zusammen wie die 0.0 im Rechner gehalten bzw dargestellt wird.

Da hast Du recht und das habe ich auch geschrieben. C hat aber
erfahrungsgemaess die meisten Probleme mit Gleitkommazahlen. Hier sind wohl
die Implementierungen nicht besonders gut. Ausserdem, wer schreibt schon
solche Programme in C ;-) Das Problem haengt hier wohl auch mit der
Unterstuezung durch die FPU zusammen , die von vornherein nicht immer
korrekt arbeitet (Intel/M$: ist not a BUG, it's a Feature). Bei Problemen
solcher Art empfiehlt es sich Teile von Programmen in Fortran zu entwickeln
und sie dann versuchen in den C-Rest einzubinden (wobei man hier aufpassen
muss, ob nicht von Fortran nach C uebersetzt wird bzw. wie uebersetzt wird,
damit sich die Fehler nicht wiederholen).

Gregor

P.S. Am besten man macht es in Assembler: da weiss man was man hat ;-)




Mehr Informationen über die Mailingliste linux-l