[python] problème avec les nombres réels

problème avec les nombres réels [python] - Python - Programmation

Marsh Posté le 12-05-2004 à 17:34:59    

J'ai un problème au niveau de la gestion des nombres réels par Python.
Je ne sais pas si c'est un "bug" connu ou pas :
 
Je veux tester si la partie décimale de x est égale à 0.4, j'ai donc fait

Code :
  1. if x%1 == 0.4:


Comme ca ne marchait apparemment pas j'ai fait quelques test et il semble qu'il y ait des erreurs faites par python lors des calculs.

Code :
  1. i = 4.4
  2. print i%1 == 0.4


donne  
False
 
de la même façon

Code :
  1. print 4.4 - 4.0 - 0.4
  2. print 4.4 - (4.0 + 0.4)


donne
3.33066907388e-016
0.0

 
Est-ce un bug connu de Python ou est-ce moi qui manipule mal les réels ?


Message édité par fafach' le 12-05-2004 à 17:55:32
Reply

Marsh Posté le 12-05-2004 à 17:34:59   

Reply

Marsh Posté le 12-05-2004 à 17:39:23    

C'est un bug connu des nombres réels :o
 
Nan, en informatique il n'existe pas de nombres réels ce qui fait que tous les calculs que tu fais sont en fait des calculs approchés.
 
En pratique, il ne faut donc jamais tester l'égalité de 2 nombres réels produits par des calculs differents.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed