Lors de la soustraction de deux nombres décimale ayant 30 chiffres après la
virgule avec une partie, le resulta obtenu est incohérent. Quelle en est la
raison
exp: 94,18 - 94,04 = 0,140000000000001000000000000000
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Denis
d'abord bonjour!!!! ce n'est pas un bug excel mais un bug de tous les ordinateurs du monde entier car ils font tous à peu près la même erreur. Quand on code un nombre réel sur 64 bits suivant une norme (IEEE) on fait une erreur qui est connue depuis les débuts de l'informatique(la précision est de l'ordre de 10^-15.
raison exp: 94,18 - 94,04 = 0,140000000000001000000000000000
.
d'abord bonjour!!!!
ce n'est pas un bug excel mais un bug de tous les
ordinateurs du monde entier car ils font tous à peu près
la même erreur.
Quand on code un nombre réel sur 64 bits suivant une norme
(IEEE) on fait une erreur qui est connue depuis les débuts
de l'informatique(la précision est de l'ordre de 10^-15.
d'abord bonjour!!!! ce n'est pas un bug excel mais un bug de tous les ordinateurs du monde entier car ils font tous à peu près la même erreur. Quand on code un nombre réel sur 64 bits suivant une norme (IEEE) on fait une erreur qui est connue depuis les débuts de l'informatique(la précision est de l'ordre de 10^-15.
raison exp: 94,18 - 94,04 = 0,140000000000001000000000000000
.
Bruno LOUIS
Salut,
Le nombre décimal 0,14 s'écrit en base 2 : 0,001000111101011100001010001111, et encore se n'est qu'une valeur approchée.
Il existe des valeurs que tu ne peux pas écrire en base 2 tout comme certaines valeurs ne peuvent pas être écrites en base 10: 1/3 = 0,333333333333333333 mais ce n'est qu'une valeur approchée.
Lorsque tu demandes à ton PC de calculer une opération dont le résultat est 0,14, il aura forcément dans sa mémoire une valeur approchée du résultat.
Pour pallier au problème les informaticiens ont créé des routines gérant les nombres en utilisant des mantises très large. Cependant, si tu t'amuse à demander une précision de 30 chiffres après la virgule, forcément la mantise retenue au départ est insuffisante. Il te faudra utiliser des routines spécifiques.
Cela dit, je ne vois pas très bien ce qu'apporte comme information utile le 30ième chiffre après la virgule.
Cordialement,
Bruno
"Denis" a écrit dans le message de news: 07df01c4d85d$eee241a0$ d'abord bonjour!!!! ce n'est pas un bug excel mais un bug de tous les ordinateurs du monde entier car ils font tous à peu près la même erreur. Quand on code un nombre réel sur 64 bits suivant une norme (IEEE) on fait une erreur qui est connue depuis les débuts de l'informatique(la précision est de l'ordre de 10^-15.
raison exp: 94,18 - 94,04 = 0,140000000000001000000000000000
.
Salut,
Le nombre décimal 0,14 s'écrit en base 2 : 0,001000111101011100001010001111,
et encore se n'est qu'une valeur approchée.
Il existe des valeurs que tu ne peux pas écrire en base 2 tout comme
certaines valeurs ne peuvent pas être écrites en base 10:
1/3 = 0,333333333333333333 mais ce n'est qu'une valeur approchée.
Lorsque tu demandes à ton PC de calculer une opération dont le résultat est
0,14, il aura forcément dans sa mémoire une valeur approchée du résultat.
Pour pallier au problème les informaticiens ont créé des routines gérant les
nombres en utilisant des mantises très large. Cependant, si tu t'amuse à
demander une précision de 30 chiffres après la virgule, forcément la mantise
retenue au départ est insuffisante. Il te faudra utiliser des routines
spécifiques.
Cela dit, je ne vois pas très bien ce qu'apporte comme information utile le
30ième chiffre après la virgule.
Cordialement,
Bruno
"Denis" <anonymous@discussions.microsoft.com> a écrit dans le message de
news: 07df01c4d85d$eee241a0$a601280a@phx.gbl...
d'abord bonjour!!!!
ce n'est pas un bug excel mais un bug de tous les
ordinateurs du monde entier car ils font tous à peu près
la même erreur.
Quand on code un nombre réel sur 64 bits suivant une norme
(IEEE) on fait une erreur qui est connue depuis les débuts
de l'informatique(la précision est de l'ordre de 10^-15.
Le nombre décimal 0,14 s'écrit en base 2 : 0,001000111101011100001010001111, et encore se n'est qu'une valeur approchée.
Il existe des valeurs que tu ne peux pas écrire en base 2 tout comme certaines valeurs ne peuvent pas être écrites en base 10: 1/3 = 0,333333333333333333 mais ce n'est qu'une valeur approchée.
Lorsque tu demandes à ton PC de calculer une opération dont le résultat est 0,14, il aura forcément dans sa mémoire une valeur approchée du résultat.
Pour pallier au problème les informaticiens ont créé des routines gérant les nombres en utilisant des mantises très large. Cependant, si tu t'amuse à demander une précision de 30 chiffres après la virgule, forcément la mantise retenue au départ est insuffisante. Il te faudra utiliser des routines spécifiques.
Cela dit, je ne vois pas très bien ce qu'apporte comme information utile le 30ième chiffre après la virgule.
Cordialement,
Bruno
"Denis" a écrit dans le message de news: 07df01c4d85d$eee241a0$ d'abord bonjour!!!! ce n'est pas un bug excel mais un bug de tous les ordinateurs du monde entier car ils font tous à peu près la même erreur. Quand on code un nombre réel sur 64 bits suivant une norme (IEEE) on fait une erreur qui est connue depuis les débuts de l'informatique(la précision est de l'ordre de 10^-15.