Le type Double !!!

Résolu
doumbia.danse Messages postés 46 Date d'inscription   Statut Membre Dernière intervention   -  
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   -
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
A voir également:

1 réponse

KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
Bonjour,

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.
0
doumbia.danse Messages postés 46 Date d'inscription   Statut Membre Dernière intervention  
 
Desolé je sais pas ce qui m'est t'arrivé même de mettre int au lieu de Double, c'est double que j'aimerais mettre
Merci
0
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
Donc 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.
0
doumbia.danse Messages postés 46 Date d'inscription   Statut Membre Dernière intervention  
 
D'accord je comprends

Et une idée sur comment rémedier ce problème?

Merci
0
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
Tu 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.
0