<html><body><div style="color:#000; background-color:#fff; font-family:HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;font-size:14pt"><div id="yiv1339915722"><div><div style="color:#000;background-color:#fff;font-family:HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;font-size:14pt;">Bonjour.<br clear="none">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!<br clear="none">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.<br clear="none">Vous pouvez visualiser le problème en modifiant le format d'affichage. Saisir format(20) puis refaire les calculs.<br clear="none">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. <br clear="none"><div id="yiv1339915722yui_3_13_0_ym1_6_1389693178771_10"><span><br clear="none"></span></div><div class="yiv1339915722yqt6000746217" id="yiv1339915722yqt64830"><div class="yiv1339915722yahoo_quoted" id="yiv1339915722yui_3_13_0_ym1_6_1389693178771_12" style="display: block;"> <br clear="none"> <br clear="none"> <div class="yiv1339915722yui_3_13_0_ym1_1_1389693178771_2918" style="font-family:HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;font-size:14pt;"> <div class="yiv1339915722yui_3_13_0_ym1_1_1389693178771_2919" style="font-family:HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;font-size:12pt;"> <div dir="ltr"> <font face="Arial" size="2"> Le Mardi 14 janvier 2014 10h35, Raymond Moché <raymoc@numericable.fr> a écrit :<br clear="none"> </font>
</div> <div class="yiv1339915722y_msg_container">Quelqu’un peut-il nous renseigner ?<br clear="none">.6*9+.6 donne ans=6<br clear="none">floor(.6*9+.6) donne ans=5.<br clear="none">Est-ce bien raisonnable ?<br clear="none">Y a-t-il des précautions à
prendre en utilisant floor ?<br clear="none">Raymond Moché<br clear="none"><br clear="none"><br clear="none">_______________________________________________<br clear="none">enseignement mailing list<br clear="none"><a rel="nofollow" shape="rect" ymailto="mailto:enseignement@lists.scilab.org" target="_blank" href="mailto:enseignement@lists.scilab.org">enseignement@lists.scilab.org</a><br clear="none"><a rel="nofollow" shape="rect" target="_blank" href="http://lists.scilab.org/mailman/listinfo/enseignement">http://lists.scilab.org/mailman/listinfo/enseignement</a><br clear="none"><br clear="none"></div> </div> </div> </div></div> </div></div></div></div></body></html>