Je viens juste de commencer à travailler avec la bibliothèque de précision arbitraire MPFR et j'ai très vite rencontré un comportement très bizarre. L'objectif principal de l'utiliser était d'améliorer la précision des trigrags de l'argument lagre et cela fonctionne extrêmement bien dans MPFR.Problème d'arrondi MPFR
Mais alors j'ai décidé de vérifier les mathématiques simples et c'était invincible - même dans les exemples simples avec des réponses strictes, les erreurs d'arrondi existent et ne dépend pas de la précision utilisée.
Même dans l'exemple comme 1.1 * 1 le résultat est 1.10000000000000008881784 ... Et ce résultat donné à une précision de 2000 bits (53 en double normal)!
Peut-être que c'est le problème de mon système, mais même dans MPFR en ligne existe des problèmes similaires. Vous pouvez essayer un tel exemple en ligne: http://ex-cs.sist.ac.jp/~tkouya/try_mpfr.html
1 * 1,1 @ 64 bits = 1,10000000000000000002
Mais la version en ligne se déplace plus avec une augmentation erreur de précision mais dans mon installation - pas.
Mon système: Ubuntu 9.10 + gmp 5.0.0.1 + mpfr 2.4.2
Merci! Convertir float -> string -> bigfloat résolu le problème avec l'indépendance de l'erreur de la précision. – Denis