Bonjour,
Une question surement idiote mais bon, est ce normal que 0.6d0-0.1d0*6.0d0 soit différent de 0?
Bonjour,
Une question surement idiote mais bon, est ce normal que 0.6d0-0.1d0*6.0d0 soit différent de 0?
Salut!
Oui, car le processeur de ton ordinateur applique (plus ou moins) la norme IEEE754; ça ne serait plus normal s'il travaillait avec des mots comportant une infinité de bits (mais ça serait plus cher!).est ce normal
En outre, je te signal que ce problème n'a rien à voir avec le langage utilisé, Fortran ou autre.
Jean-Marc Blanc
Merci
J'ai trouvé un site pour ça
http://docs.sun.com/source/806-3568/ncg_goldberg.html
Mais j'avoue quand même choquant 0.1 ne soit pas écrit de manière exacte dans cette norme. (Je suis une petite nature ^^)
c'est pour ça que certaine librairies (en C++ pour celle que je connais) utilise leur propre type de flottants.... justement pour évité ce genre de désagrément. cependant leur traitement est plus lent vu qu'il n'est pas 'naturel'.....
Salut!
Alors, il te faut construire toi-même ton processeur.j'avoue quand même choquant 0.1 ne soit pas écrit de manière exacte dans cette norme
Jean-Marc Blanc
Ce qui me gêne le plus c'est que Fortran m'indique 0.1 au lieu d'afficher la vrai valeur stockée.
Partager