Le 25/09/2005 18:34, christianwtd a écrit :

Bonjour à tous,

Petit passage rapide sur le forum...
Les habitués connaissent le sujet que j'avais lancé en avril 2005 et qui a duré ... un certain temps. Je redis aussi que mon but n'est pas de chercher les défauts des tableurs, mais plutôt de mettre en évidence certains calculs imprécis, afin d'éviter une confiance aveugle dans les résultats des calculs. Si je reprend le sujet c'est qu'en parcourant un forum consacré à un autre tableur (et oui, ça m'arrive :-) ), j'ai trouvé un exemple on ne peut plus simple. Le voici avec quelques détails.

L'imprécision n'apparaît qu'en augmentant le nombre de décimales (ce qui rend l'erreur plus difficile à trouver), via Formater les cellules, Nombres. Dans Décimales, augmentez le nombre, jusqu'à 15 et plus.

Dans une cellule écrivez :
= 12 - 11,3

= 12 - 11,3 retourne 0,699999999999999 et non 0,7

Il me semble que ce (faux) problème avait déjà été évoqué lors de la discussion que tu rappelles. L'explication je crois tient au fait que les calculs sont faits en base 2 et qu'un nombre qui en base 10 s'écrit avec un nombre fini de décimales peut en avoir un nombre infini en base 2. Autrement dit une division qui tombre juste en base 10 ne tombe pas nécessairement juste en base 2.

On doit sans doute pouvoir implémenter ou simuler une arithmétique en base 10 mais c'est certainement très coûteux en performance.

NB : mathématiquement 0,69999... = 0,7 ; il n'y a aucun nombre entre ces deux là donc ils sont égaux.

Bonne journée

--
Jean-Baptiste FAURE
Cemagref - Unité de Recherche Hydrologie-Hydraulique
Tel: 04 72 20 87 76 - Fax: 04 78 47 78 75 - Web: www.lyon.cemagref.fr
Cemagref-Lyon 3bis, quai Chauveau C.P.220 69336 Lyon cedex09 FRANCE
<< Interpoler est difficile, extrapoler est téméraire >>


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Répondre à