Deutsch   English   Français   Italiano  
<j0vto8FsgsuU1@mid.individual.net>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!weretis.net!feeder6.news.weretis.net!feeder8.news.weretis.net!news.szaf.org!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail
From: pehache <pehache.7@gmail.com>
Newsgroups: fr.comp.sys.mac.programmation
Subject: =?UTF-8?Q?Re=3a_Y_a_comme_un_d=c3=a9faut?=
Date: Sat, 4 Dec 2021 02:14:48 +0100
Lines: 51
Message-ID: <j0vto8FsgsuU1@mid.individual.net>
References: <1pjmz6k.1v0nod6mfq0rkN%josephb@nowhere.invalid>
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Trace: individual.net HzwUpxkD2dyywq5NtZG1DwOEoYoV6DnkGIrpFX5vwKcxDtQp0h
Cancel-Lock: sha1:loiMWwOo0kF2XlC3CujfRCs5j+w=
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:78.0)
 Gecko/20100101 Thunderbird/78.10.1
In-Reply-To: <1pjmz6k.1v0nod6mfq0rkN%josephb@nowhere.invalid>
Content-Language: fr
Bytes: 3159

Le 04/12/2021 à 00:54, Joseph-B a écrit :
> Bonjour,
> 
> Sauf erreur de ma part, je viens de faire une découverte déstabilisante.
> Des volontaires pour exécuter le petit script que je vous mets en dessous ?
> Après le premier test avec la valeur 2.54 pour diviseur
> refaites l'essai avec 25.4
> Dites-moi si des résultats obtenus chez vous sont conformes ou délirants ?
> Je ne me rappelle pas avoir jamais rencontré cette "anomalie" depuis que je tripote appleScript*.
> Le bug provient-il de El Cap ou se perpétue-t-il encore ?
> * Ce qui ne veut pas dire qu'elle n'était pas déjà là ?
> 
> *******************
> set diviseur to 2.54
> set serie to {0.254, 2.54, 25.4, 254, 2540}
> set restes to {}
> set text item delimiters to " - "
> set commentaire to "Restes de la division par " & (diviseur as text) & "  de" & linefeed & (serie as string)
> 
> repeat with value in serie
>     copy (value mod diviseur) to the end of restes
> end repeat
> display alert (restes's every item as text) message commentaire
> 
> *********************
> 
> AppleScript operator             Description
> mod                        Remainder.
> A binary arithmetic operator that divides the number to its left by the number to its right and returns the remainder as its
> result.
> Class of operands: integer, real    Class of result: integer, real
> 
> *********************
> pour info, avec 2,54  j'obtiens
> 0,254 - 0,0 - 2,54 - 2,54 - 2,54
> 
> et avec 25,4
> 0,254 - 2,54 - 0,0 - 1,42108547152E-14 - 1,42108547152E-13
> 

Il n'y a pas forcément de défaut, calculer des restes en arithmétique 
flottante est forcément casse-gueule quand le résultat de la division 
est censé être une valeur entière. Quand tu écris "2,54" (ou n'importe 
quelle autre valeur) la représentation en machine est une approximation 
de cette valeur, ce n'est pas la valeur exacte (sauf coup de chance).

-- 
"...[la moto] un engin qui par les lois de la physique ne peut pas
freiner en courbe.", SLD sur fr.rec.bricolage
"...sois ouvert aux idées des autres pour peu qu'elles aillent dans le
même sens que les tiennes.", ST sur fr.bio.medecine