Le type Double !!!
Résolu
Bonsoir,
Au fait j'ai réalisé une calculatrice , et le résultat est à stocker dans un type double, mais il arrive que si j'entre un nombre à plus de 17 chiffre comme ça , le programme n'affiche que 15 chiffre et complète le reste avec des zero
Auriez-vous une idée de cela?
Merci d'avance
Au fait j'ai réalisé une calculatrice , et le résultat est à stocker dans un type double, mais il arrive que si j'entre un nombre à plus de 17 chiffre comme ça , le programme n'affiche que 15 chiffre et complète le reste avec des zero
Auriez-vous une idée de cela?
Merci d'avance
1 réponse
-
ModérateurBonjour,
Un int est limité en taille, son maximum est 2^31, soit 10 chiffres... pas 15 ou 17 !
En plus ton problème ressemble plus à l'utilisation d"un nombre flottants pas un entier.
Il faudrait voir ton code et un exemple de calcul.-
-
ModérateurDonc pour double le problème c'est qu'il n'a pas une précision infinie.
Si tu regardes la norme IEEE 754, tu verras que la précision est toujours la même, parce que la mantisse est bornée. Si on t'affiche des 0 à la fin c'est parce qu'on a dépassé le dernier bit de la mantisse. -
-
ModérateurTu peux utiliser un autre type de données qui va avoir une taille de mantisse plus grande, par exemple avec un "long double" mais tu vas quand même avoir des limites à un moment donné.
Sinon il y a des bibliothèques spécialisées dans le calcul de grands nombres, comme GMP.
-