Page 1 sur 1

problème fonction approx sous windows

Publié : sam. juin 13, 2009 11:43 pm
par ergibil
J'ai une question avec la fonction approx sous windows.

exemple 1
a:=approx(sqrt(2),7);
résultat :
1.41421356237
approx(a,2);
résultat :
1.41421356237
:?
exemple 2
a:=approx(sqrt(2),30);
résultat :
1.414213562373095048801688724209
approx(a,2);
résultat :
1.42
:)

bizarre cette différence de résultat pour approx(a,2) non ?

Publié : dim. juin 14, 2009 7:05 am
par parisse
en effet, j'ai le meme probleme sous linux, ca semble etre un pb de conversion flottants longs->flottants machine, peut-etre dans MPFR, je regarderai demain.

Re: problème fonction approx sous windows

Publié : lun. juin 15, 2009 2:50 pm
par parisse
Il semble que ca vienne d'un double arrondi en base 2/base 10. sqrt(2) est d'abord calcule avec 30 decimales (traduit en environ 100 bits de mantisse), puis arrondi mais en base 2 au plus proche avec 2 decimales (soit environ 8 bits de mantisse). C'est cette valeur qui est affichee ensuite en decimal d'ou l'arrondi surprenant.