• [^] # Re: Rien de surprenant

    Posté par (site web personnel) . En réponse au journal [Humour] vers un monde différent. Évalué à 9.

    Tu découvres simplement que les nombres décimaux non entiers ne sont pas représentables nativement par un ordinateur de manière exact. Pour des raisons d'optimisation, la quasi-totalité des langages de programmation (qui se basent sur le comportement du processeur) utilisent une représentation de ces nombres comme flottant qui n'ont pas une précision infinie.

    Ça ne suffit pas à expliquer l'erreur, parce qu'en décimal, 2, 1,8 et 0,2 sont représentables sans erreur. La source du problème, c'est que les nombres sont représentés en binaire à virgule flottante. Ainsi, 0,5 sera représenté comme 0,1 en base 2, sans erreur. En revanche, 1,8 et 0,2 ne sont pas représentables sans erreur en base 2, leur développement après la virgule étant infini.