Calculer avec plus de chiffre en c++

pom -  
marsupilamuf Messages postés 10 Date d'inscription   Statut Membre Dernière intervention   -
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
A voir également:

4 réponses

marvinrouge
 
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
pom
 
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   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention  
 
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