Bonjour,
J'ai une liste de nombres ordonnés de manière croissante. Je voudrais pouvoir générer, à tout moment, un nombre entre deux nombres successifs de cette liste.
Exemple:
J'ai: 1 - 4 - 5 - 6 - 13.7 - 18 ...
Pour simplifier, on va dire que je veux générer un nombre entre 5 et 6, je fais (5+6)/2 = 5.5 et je l'insère à la bonne position (liste triée) en utilisant n'importe quel algo (exemple recherche binaire/dichotomique).
J'aurai: 1 - 4 - 5 - 5.5 - 6 - 13.7 - 18 ...
Cependant, en générant des nombres comme ça, on peut arriver à un moment où on ne peux plus générer de nombres entre deux nombres donnés et on aura un dépassement de capacité à cause de la précision des types (float, double etc selon les langages de programmation). Je parle donc d'un problème de précision des flottants.
Avez vous une solution/algo pour éviter ce-là ? Serait il par exemple possible de coder ces nombres en chaines de caractères au lieu de nombre réels (e.g. double) ? Toute proposition est la bienvenue.
Merci d'avance.
Partager