[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: emacs lisp et (- 0.07 0.18) et aussi SBCL




On 24/10/2021 18:44, kaliderus wrote:
Bonjour la liste,

J'avais déjà remarqué ce phénomène, et voici ce que me donne le
résultat mentionné en objet
(- 0.07 0.18)
dans emacs : -0.10999999999999999
avec SBCL : -0.11000001

Quelqu'un saurait-il me dire pourquoi ?
Ce que je pourrai éventuellement comprendre avec des très grands
nombres par exemple, ou des valeurs franchement exotiques, mais avec
des valeurs qui doivent être réelles et qui ne dépassent pas la
capacité mémoire de la machine, chaque implémentation devrait me
semble-t-il donner le même résultat, et qui plus est exact...
Je suis apprenti en common lisp.

Merci à chacun.


Si j'ai bonne mémoire, la norme Common Lisp impose le calcul en bignums ou nombres à précision arbitrairement grande.

Alors que GNU emacs utilise des flottants IEEE754.

La lecture des codes sources respectifs devrait confirmer cette intuition.

Et le livre de Christian Queinnec https://pages.lip6.fr/Christian.Queinnec/WWW/LiSP.html est une lecture conseillée.


--
Basile Starynkevitch                  <basile@starynkevitch.net>
(only mine opinions / les opinions sont miennes uniquement)
92340 Bourg-la-Reine, France
web page: starynkevitch.net/Basile/


Reply to: