Re: Autre exercice : calculer la somme de x chiffres.

Liste des GroupesRevenir à fcl python 
Sujet : Re: Autre exercice : calculer la somme de x chiffres.
De : alain (at) *nospam* universite-de-strasbourg.fr.invalid (Alain Ketterlin)
Groupes : fr.comp.lang.python
Date : 25. May 2022, 12:41:45
Autres entêtes
Organisation : Université de Strasbourg
Message-ID : <87r14hyh3a.fsf@universite-de-strasbourg.fr.invalid>
References : 1 2 3 4 5 6 7
User-Agent : Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux)
Benoit Izac <use.reply.to@INVALID.ADDRESS> writes:

(Ça ne concerne pas Python, mais c'est la même idée qu'un bug qui a été
célèbre en Java, dont la correction a consisté à remplacer (a+b)/2 par
a + (b-a)/2.)
>
Il y a intérêt a avoir un beau commentaire juste à côté car il y a fort
à parier que quelqu'un qui passe sur le code sans être courant risque de
simplifier (et c'est logique).
>
Question bête : si c'est (a+b) qui provoque le dépassement, pourquoi pas
« a/2 + b/2 » ? Perte de précision ?

Oui, parce que dans ce cas le milieu de 3 et 5 est 3 (3//2 == 1 et 5//2
= 2), ce qui n'est pas utile dans les algos dichotomiques.

(Si tu penses à la division flottante, alors tu as un problème encore
plus grave, puisqu'on a alors en général seulement 53 bits de précision
-- pour les double IEEE 754. Sans compter les blagues du genre
0.1+0.1+0.1 != 0.3)

Et pour ma culture, il vient d'où ce bug ?

Voici ce que j'ai trouvé de plus ancien sur le bug dans la bibliothèque
standard de Java :

https://ai.googleblog.com/2006/06/extra-extra-read-all-about-it-nearly.html

-- Alain.

Date Sujet#  Auteur
24 Sep 26 o  …

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal