Calculer avec plus de chiffre en c++

Fermé
pom - 24 juin 2004 à 11:23
marsupilamuf Messages postés 10 Date d'inscription jeudi 17 juin 2004 Statut Membre Dernière intervention 30 août 2004 - 24 juin 2004 à 15:59
bonjour, j'ai un programme (en C++) qui plante de fait de l'accumulation des erreurs numériques lors des calculs. Savez-vous à combien de chiffres les calculs sont faits ? Et comment puis-je augmenter ce nombre de décimales pour les calculs ? Enfin, comment puis-je afficher tous les chiffres (et non une partie) ?

Merci
Pom

4 réponses

marvinrouge
24 juin 2004 à 11:39
Salut Pom,

tu peux recoder toi même des réels en utilisant des chaines de caractères pour pouvoir faire tout ça
MAIS

1) c'est pénible à faire (exemle "345" * "-5x10E7")
2) les calculs sont bcp + longs
3) ça consomme bcp de mémoire

à toi de voir si ça vaut le coup ...
0
Effectivement, dis comme ça, la question ne se pose plus trop...Mais je suis réellement ennuyé car la théorie dit que ma matrice est inversible et numériquement, étant donné que soit j'ai des valeurs très petites soit je soustrais de très grand nombres de meme signe, c'est la catastrophe et donc la matrice n'est plus inversible. Je pensais que calculer avec plus de chiffres significatifs pourrait résoudre, en partie du moins, mon problème. Je vais donc chercher du côté d'un pré-conditionnement alors.

Merci pour l'astuce en tout cas.

Pom
0
pi€rre Messages postés 76 Date d'inscription mercredi 9 juin 2004 Statut Membre Dernière intervention 13 octobre 2005
24 juin 2004 à 15:48
tu as essayer de travailler avec des long double ils ont un bonne precision déja.
sinon pour afficher le nombre de decimal apres la virgule tu peus faire:
printf("nombre : %.Xf"),nb); avec X est le nombre de chiffre apres la virgule

merci, @+
pierre L.
0
marsupilamuf Messages postés 10 Date d'inscription jeudi 17 juin 2004 Statut Membre Dernière intervention 30 août 2004
24 juin 2004 à 15:59
houba :-)

Houba oups.
Certe la taille des nombres y est pour quelquechose mais les algo de calcul aussi. Il existe plusieurs alogrithme de calcul en fonction de ce que tu veux faire. Ces algos ont été écrits pour les implémenter sur ordi
0