[Enseignement] Commande floor

Jean Matthieu LEURENT jm_leurent at yahoo.fr
Mar 14 Jan 13:28:54 CET 2014


Bonjour.
Ce phénomène est du à la représentation des nombres dans l'ordinateur. Ils sont représentés en base 2 au format IEEE 754 avec un nombre limité de bits (chiffres). Cela provoque par la suite des erreurs de calculs liées au fait que la représentation du nombre est tronqué. De plus, un nombre peut s'écrire avec un nombre fini de chiffres en base 10 et un nombre infini de chiffres en base 2!
Exemple en base 10 pour expliquer le phénomène: Admettons que nous utilisions seulement 1 chiffre aprés la virgule pour représenter les nombres fractionnaires compris entre 0 et 1. 1/3+1/3 +1/3 est alors représenté par 0.3+0.3+0.3. La somme calculée vaut alors 0.9 au lieu de 1. C'est exactement ce qui se passe dans tout les ordinateurs utilisant une représentation normalisée des flottants.
Vous pouvez visualiser le problème en modifiant le format d'affichage. Saisir format(20) puis refaire les calculs.
Dans
 les calculatrices, des algorithmes sont mis en place pour contrer ces phénomènes, mais ce n'est pas infaillible, loin s'en faut. 





Le Mardi 14 janvier 2014 10h35, Raymond Moché <raymoc at numericable.fr> a écrit :
 
Quelqu’un peut-il nous renseigner ?
.6*9+.6 donne ans=6
floor(.6*9+.6) donne ans=5.
Est-ce bien raisonnable ?
Y a-t-il des précautions à
 prendre en utilisant floor ?
Raymond Moché


_______________________________________________
enseignement mailing list
enseignement at lists.scilab.org
http://lists.scilab.org/mailman/listinfo/enseignement
-------------- section suivante --------------
Une pièce jointe HTML a été nettoyée...
URL: <https://lists.scilab.org/pipermail/enseignement/attachments/20140114/fd1eaa37/attachment.htm>


Plus d'informations sur la liste de diffusion enseignement