0,8100000000000000000000 + 0,01 = 0,8200000000000010000000 ???
APi
-
Patrice33740 Messages postés 8561 Date d'inscription Statut Membre Dernière intervention -
Patrice33740 Messages postés 8561 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Avec excel, si j'additionne 0,81 + 0,01, j'obtiens 0,8200000000000010000000
Du moins, j'ai cela si je procède de la sorte
Pourquoi????
Bien cordialement,
Avec excel, si j'additionne 0,81 + 0,01, j'obtiens 0,8200000000000010000000
Du moins, j'ai cela si je procède de la sorte
- dans la case A01, j'écris 0,81 en demandant un affichage avec un maximum de "0"
- en dessous, dans A02, je fais : =A01+0,01
- j'obtiens : 0,8200000000000010000000
Pourquoi????
Bien cordialement,
4 réponses
Bonjour,
C'est un problème relevè depuis pas mal de temps liè au langage binaire, j'ai personnellement posé la question à plusieurs reprises à Microsoft toujours sans réponse sur cette décimale parasite qui s'affiche après la douzième
j'espère qu'une réponse logique sera un jour apportée en attendant une rectification du logiciel.
Il faut également signaler que peu de personnes travaillent avec plus d'une dizaine de décimales
C'est un problème relevè depuis pas mal de temps liè au langage binaire, j'ai personnellement posé la question à plusieurs reprises à Microsoft toujours sans réponse sur cette décimale parasite qui s'affiche après la douzième
j'espère qu'une réponse logique sera un jour apportée en attendant une rectification du logiciel.
Il faut également signaler que peu de personnes travaillent avec plus d'une dizaine de décimales
Bonjour,
La question de la précision numérique dans Microsoft Excel est posée depuis longtemps et revient régulièrement sur le tapis.
Voici un document qui apporte les explications :
https://docs.microsoft.com/en-us/office/troubleshoot/excel/floating-point-arithmetic-inaccurate-result
A+
La question de la précision numérique dans Microsoft Excel est posée depuis longtemps et revient régulièrement sur le tapis.
Voici un document qui apporte les explications :
https://docs.microsoft.com/en-us/office/troubleshoot/excel/floating-point-arithmetic-inaccurate-result
A+
Bonjour,
Curieusement, je n'arrive pas à reproduire cette erreur, que j'utilise l'affichage avec 30 chiffres après la virgule ou un autre type d'affichage.
Aucune de mes versions d'Excel (2003, 2007, 2010) ne présentent cette anomalie !!!
Le calcul en virgule flottante génère effectivement des erreurs mais pas de cet ordre de grandeur sur une simple addition !
Quelle version d'Excel utilises-tu ???
Curieusement, je n'arrive pas à reproduire cette erreur, que j'utilise l'affichage avec 30 chiffres après la virgule ou un autre type d'affichage.
Aucune de mes versions d'Excel (2003, 2007, 2010) ne présentent cette anomalie !!!
Le calcul en virgule flottante génère effectivement des erreurs mais pas de cet ordre de grandeur sur une simple addition !
Quelle version d'Excel utilises-tu ???
Re,
Ce problème avait été évoqué sur plusieurs forums et connu de Microsoft
exemple sur cette discussion en 2007 pour laquelle j'avais contacté Microsoft à deux reprises
https://forums.commentcamarche.net/forum/affich-23338155-excel-2007-2-2-0-0000000000001#top
ce problème était rencontré sur les versions 2007 et antérieures, je viens de refaire les tests sur 2010 et apparemment ce problème aurait été résolu en partie, parce que j'ai repris un test amusant, en A1 je saisis 0,9 en A2 1,9
en B1 1 et en B2 2 en C1 la formule =A1-B1 et en C2 A2-B2 qui est la même formule et j'incrémente ces 4 cellules, quelque soit la ligne, la soustraction devrait donner 0,1 quelque soit le nombre de décimales et ben NON
à la ligne 5 ou en A5 j'ai 4,9 et en B5 j'ai 5 le résultat n'est plus 0,100000 mais 0,0999999999999996
et plus amusant ligne 17 ou en A17 j'ai 16,9 et en B17 la valeur 17 en C17 l'erreur réapparait en 15 éme position 0,100000000000001000
Il est vrai que peu de personnes travaillent avec autant de décimales, mais ligne 5 tout de même ce résultat est surprenant au delà de 15 décimales et plus surprenant si on fait 0,1 ce qui devrait être le résultat de 4,9-5 moins la valeur obtenue en C5 soit 0,0999999999999996 le résultat théorique devrait être 0 et ben non il reste toujours un reliquat 0,0000000000000036082 ce qui peut poser problème pour les scientifiques
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
Ce problème avait été évoqué sur plusieurs forums et connu de Microsoft
exemple sur cette discussion en 2007 pour laquelle j'avais contacté Microsoft à deux reprises
https://forums.commentcamarche.net/forum/affich-23338155-excel-2007-2-2-0-0000000000001#top
ce problème était rencontré sur les versions 2007 et antérieures, je viens de refaire les tests sur 2010 et apparemment ce problème aurait été résolu en partie, parce que j'ai repris un test amusant, en A1 je saisis 0,9 en A2 1,9
en B1 1 et en B2 2 en C1 la formule =A1-B1 et en C2 A2-B2 qui est la même formule et j'incrémente ces 4 cellules, quelque soit la ligne, la soustraction devrait donner 0,1 quelque soit le nombre de décimales et ben NON
à la ligne 5 ou en A5 j'ai 4,9 et en B5 j'ai 5 le résultat n'est plus 0,100000 mais 0,0999999999999996
et plus amusant ligne 17 ou en A17 j'ai 16,9 et en B17 la valeur 17 en C17 l'erreur réapparait en 15 éme position 0,100000000000001000
Il est vrai que peu de personnes travaillent avec autant de décimales, mais ligne 5 tout de même ce résultat est surprenant au delà de 15 décimales et plus surprenant si on fait 0,1 ce qui devrait être le résultat de 4,9-5 moins la valeur obtenue en C5 soit 0,0999999999999996 le résultat théorique devrait être 0 et ben non il reste toujours un reliquat 0,0000000000000036082 ce qui peut poser problème pour les scientifiques
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
ma version d'Excel est : 2010 / version 14.0.7147.5001 32 bits.
Cela peut certes poser des pbs à des scientifiques, mais tout bêtement si on fait un test : suis-arrivé à t = 3 secondes, en partant de 0 par incréments de 0,01 s .... excel ne trouve pas 3 secondes, mais 3,0000000000001 (ou qlq chose de ressemblant....).
Merci pour vos réponses, qui me confirment que je n'avais pas de virus particulier dans mon ordi ou dans excel... du moins, que beaucoup ont le même "virus" que moi...
Cordialement.
Cela peut certes poser des pbs à des scientifiques, mais tout bêtement si on fait un test : suis-arrivé à t = 3 secondes, en partant de 0 par incréments de 0,01 s .... excel ne trouve pas 3 secondes, mais 3,0000000000001 (ou qlq chose de ressemblant....).
Merci pour vos réponses, qui me confirment que je n'avais pas de virus particulier dans mon ordi ou dans excel... du moins, que beaucoup ont le même "virus" que moi...
Cordialement.
J'ai un peu cherché avant de poser cette question, mais je n'avais pas trouvé de réponse (ma question était mal posée certainement).
Je ne voulais pas travailler avec 12 décimales, mais je faisais le calcul suivant :
Colonne A : le temps, qui s'incrémente par valeur de +0,01
Et je faisais un test : si temps = 3, alors....
et ma formule ne marchait pas car il ne trouvait pas 10, mais 10,000000000000010000
(ou un truc comme cela).
J'ai été obligé de mettre un calcul d'arrondi à 4 chiffres après la virgule pour que ca marche :
si ( arrondi(temps;4) ) = 10, alors....
Merci encore.