fr64
Messages postés32Date d'inscriptionvendredi 12 septembre 2003StatutMembreDernière intervention 4 avril 2007
-
24 nov. 2005 à 09:31
the_smurf
Messages postés283Date d'inscriptionvendredi 6 août 2004StatutMembreDernière intervention22 juin 2006
-
24 nov. 2005 à 10:45
Bonjour,
J'essaie de faire le calcul suivant en javascript (par exemple dans la console javascript de Firefox):
1*8.86+2*15.31
Le résultat est surprenant : 39.48000000000004
Cela arrive pour plein d'autres cas (63.6*3+65.4*2+70.8*2=463.20000000000005 par exemple)
Quelqu'un a t'il déjà constaté ce comportement?
Merci de vos pistes.
the_smurf
Messages postés283Date d'inscriptionvendredi 6 août 2004StatutMembreDernière intervention22 juin 2006 24 nov. 2005 à 10:45
Ex:
Ton 15.31 en binaire à virgule fixe s'ecrirait: 1111,0100 ou
1111,01001111 ou 1111,010011110101 ou 1111,0100111101011100 etc selon
la précision, que je ne connais pas, utilisée par le js...
Quand on fait la conversion inverse on se rend imédiatement compte de l'erreur d'approximation:
1111,0100 = 15.25
1111,01001111 = 15,30859375
1111,010011110101 = 15,309814453125
1111,0100111101011100 = 15.30999755859375
The SMURF
[mailto:the_little_smurf@yahoo.fr the_little_smurf@yahoo.fr]
Enjoy the life, don't waste your time in front of your computer