l'internet secret


l'internet secret




         


 le flux RSS de Saturday Morning Breakfast Cereals <i>en francais</i> !

personne n'a dit  le lundi 10 juin 2013
Mauvaise allocation mémoire pour les flottants, il va pas aller loin le robot!^^
personne n'a dit  le mardi 11 juin 2013
Une petite explication technique serait la bienvenue.
personne n'a dit  le mardi 11 juin 2013
double d1 = 0.1;
double d2 = 0.2;
double d = d1 + d2;

// d = 0.30000000004 ou 0.29999999996

C'est du au fait qu'un double est codé en puissances de 2 et a donc une précision qui est de 1/2^n
personne n'a dit  le mardi 11 juin 2013
L'explication ci-dessus restant tout de même technique...

Les "flottants" et "doubles" nommés dans les commentaires ci-dessus sont des formats de chiffres à virgules. Comme toutes les données informatiques, on peut les ramener à une suite de 0 et de 1...
De fait, si l'on défini la partie décimale sur X bits, on aura une précision tout a fait relative.
Par exemple, 8/9 + 1/9 ne donnera pas toujours 9/9 = 1
Mais peut, si l'informaticien ne fait pas attention, donner : 0.8888888.... + 0.111111.... = 0.9999999...
personne n'a dit  le mardi 11 juin 2013
Ah ouais quand même, on peut pas l'inventer celle-là.
personne n'a dit  le mercredi 12 juin 2013
0.2 et 0.1 sont des réels "finis" (je suis pas sur du terme) alors que 0.111111111111 non donc ton exemple ne correspond pas. Le problème vient bien du principe des float et double qui sont en puissances de 2. A contrario les nombres de type decimal (en puissance de 10) donnent un résultat exact (0,3).
Je suis bien d'accord que ca reste technique et qu'il faut y avoir été confronté pour l'apprécier.
personne n'a dit  le mercredi 12 juin 2013
Un article ou c'est un peu mieux expliqué :)
http://blog.octo.com/problemes-courants-imprecision-des-calculs-mathematiques-1ere-partie/

Poster un commentaire :

Titre :

Texte :




Auteur :

E-Mail :

Adresse web :

Code anti-spam
Tapez le code de sécurité qui s'affiche ci-dessus :



Loading

La librairie lapin propose tous les livres des éditions lapin et des tas d’objets sympas comme des mugs, des cartes postales, des t-shirts etc.

Liens