Bibm@th

Forum de mathématiques - Bibm@th.net

Bienvenue dans les forums du site BibM@th, des forums où on dit Bonjour (Bonsoir), Merci, S'il vous plaît...

Vous n'êtes pas identifié(e).

#1 09-02-2020 16:11:38

Tania
Membre
Inscription : 09-09-2019
Messages : 119

Python

Bonjour à tous,

Je ne comprends vraiment pas pourquoi python me donne comme résultat 0.59999999999996 lorsque je calcule 4.6-4 !!!

:(((

Hors ligne

#2 09-02-2020 17:47:02

yoshi
Modo Ferox
Inscription : 20-11-2005
Messages : 16 991

Re : Python

Bonjour Tania,

Pas que Python...
Cela tient à la représentation des nombres à virgule par ton  ordinateur.
Voilà quelques exemples :
>>> 0.3-0.2
0.09999999999999998
0.09999999999999998
>>> 0.4-0.2
0.2
>>> 0.5-0.2
0.3
>>> 0.9-0.8
0.09999999999999998
Il faut te dire que la machine convertit les nombres en base 2 avant tout calcul.
Et, malheureusement ces nombres 0.3, 0.6, 0.7, 0.9 (ou dont la partie décimale contient 3, 6, 7 ou 9) n'ont pas de représentation exacte en base deux, donc toute soustraction donnera une valeur approchée (avec des chiffres "bizarres à la fin")...
Pour en savoir plus, par exemple :
https://www.supinfo.com/articles/single … grammation
https://fr.wikibooks.org/wiki/Fonctionn … es_nombres

Quelqu'un ici, constatant cela avait trouvé une réponse : il y avait une conspiration mondiale qui avait interdit certains nombres ^_^


Arx Tarpeia Capitoli proxima...

En ligne

#3 10-02-2020 11:59:33

Tania
Membre
Inscription : 09-09-2019
Messages : 119

Re : Python

Merci beaucoup !!! c'est etrange comme même. J'ai regardé les sites mais c'est difficile à comprendre.

Hors ligne

Pied de page des forums