Bonjour,
J'utilise GMP pour développer un programme qui effectue différents calculs astronomiques. Quand j'utilise des entiers, pas de problème mais quand j'utilise des floats, il y a comme un problème de précision ou d'arrondis.
Le code :
Sortie :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 #include <gmp.h> void main() { mpf_t G; // Déclaration mpf_init (G); // Initialisation mpf_set_d (G, 0.000000000667428 ); // Affectation gmp_printf("G = %Ff\n", G); //Affichage }
0.000000000667428000000000024141
Ce sont les derniers chiffres qui me posent problème.
Pour
mpf_set_d (G, 1.989e30 );
J'obtiens :
1988999999999999901910000000000
Pourquoi ces résultats?
J'utilise gcc 4.4.5 sur Linux Ubuntu 10.10.
Merci d'avance pour les conseils que vous pourrez me donner !
Partager