Deutsch English Français Italiano |
<87r14hyh3a.fsf@universite-de-strasbourg.fr.invalid> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!news.mixmin.net!aioe.org!K7PIs9tCGQ+WHJa7e6BylQ.user.46.165.242.75.POSTED!not-for-mail From: Alain Ketterlin <alain@universite-de-strasbourg.fr.invalid> Newsgroups: fr.comp.lang.python Subject: Re: Autre exercice : calculer la somme de x chiffres. Date: Wed, 25 May 2022 13:41:45 +0200 Organization: =?utf-8?Q?Universit=C3=A9?= de Strasbourg Message-ID: <87r14hyh3a.fsf@universite-de-strasbourg.fr.invalid> References: <t6dj6a$sg8$1@gioia.aioe.org> <t6djq7$1570$1@gioia.aioe.org> <87o7zod3s7.fsf@izac.org> <877d6czfdn.fsf@universite-de-strasbourg.fr.invalid> <87k0accue3.fsf@izac.org> <87zgj7xg89.fsf@universite-de-strasbourg.fr.invalid> <87mtf669z5.fsf@izac.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Injection-Info: gioia.aioe.org; logging-data="50723"; posting-host="K7PIs9tCGQ+WHJa7e6BylQ.user.gioia.aioe.org"; mail-complaints-to="abuse@aioe.org"; User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux) Cancel-Lock: sha1:L6OEdb5fi2zcbBKtHHf0b4JgUK0= X-Notice: Filtered by postfilter v. 0.9.2 Bytes: 2529 Lines: 36 Benoit Izac <use.reply.to@INVALID.ADDRESS> writes: >> (=C3=87a ne concerne pas Python, mais c'est la m=C3=AAme id=C3=A9e qu'un= bug qui a =C3=A9t=C3=A9 >> c=C3=A9l=C3=A8bre en Java, dont la correction a consist=C3=A9 =C3=A0 rem= placer (a+b)/2 par >> a + (b-a)/2.) > > Il y a int=C3=A9r=C3=AAt a avoir un beau commentaire juste =C3=A0 c=C3=B4= t=C3=A9 car il y a fort > =C3=A0 parier que quelqu'un qui passe sur le code sans =C3=AAtre courant = risque de > simplifier (et c'est logique). > > Question b=C3=AAte=C2=A0: si c'est (a+b) qui provoque le d=C3=A9passement= , pourquoi pas > =C2=AB=C2=A0a/2 + b/2=C2=A0=C2=BB=C2=A0? Perte de pr=C3=A9cision=C2=A0? Oui, parce que dans ce cas le milieu de 3 et 5 est 3 (3//2 =3D=3D 1 et 5//2 =3D 2), ce qui n'est pas utile dans les algos dichotomiques. (Si tu penses =C3=A0 la division flottante, alors tu as un probl=C3=A8me en= core plus grave, puisqu'on a alors en g=C3=A9n=C3=A9ral seulement 53 bits de pr= =C3=A9cision -- pour les double IEEE 754. Sans compter les blagues du genre 0.1+0.1+0.1 !=3D 0.3) > Et pour ma culture, il vient d'o=C3=B9 ce bug=C2=A0? Voici ce que j'ai trouv=C3=A9 de plus ancien sur le bug dans la biblioth=C3= =A8que standard de Java : https://ai.googleblog.com/2006/06/extra-extra-read-all-about-it-nearly.html -- Alain.