Forum de mathématiques - Bibm@th.net
Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
Pages : 1
Discussion fermé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 989
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...
Hors 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
Pages : 1
Discussion fermée