Bonjour,
Pourquoi l’objet « arithm-ser » ajoute de nombres décimaux ?
entrées : 0.6 1.2 0.1
résultat : (0.6 0.70000005 0.8000001 0.9000001 1.0000001 1.1000002)
Et du coup il n’arrive pas jusqu’a 1.2.
Merci
Patch.omp (1.3 KB)
Bonjour,
Pourquoi l’objet « arithm-ser » ajoute de nombres décimaux ?
entrées : 0.6 1.2 0.1
résultat : (0.6 0.70000005 0.8000001 0.9000001 1.0000001 1.1000002)
Et du coup il n’arrive pas jusqu’a 1.2.
Merci
Patch.omp (1.3 KB)
Ce problème est dû à des erreurs d’approximation dans des opérations sur les nombres flottants.
En effet ce n’est pas très joli. Je vais essayer de voir quoi faire.
En attendant, il est possible de le contourner en utilisant des entiers puis en divisant le résultat :
(* (arithm-ser 6 12 1) 0.1)
— précisons que ce sont des erreurs inhérentes aux opérations sur les nombres flottants. on ne peut pas les éviter, mais seulement les contourner. le plus sûr est de travailler soit avec des entiers (mon précédent exemple), soit avec des ratios (6/10, 12/10, 1/10…)
Cela donne toujours -> (0.6 0.7 0.8 0.90000004 1.0 1.1 1.2)
om6.9.1 beta_0
Est-ce la version ?
k