Salut tout le monde,
Je voudrais savoir quel est le meilleur type pour stocker un nombre qui possède 20 chiffres aprés la virgule.
Merci d'avance
Salut tout le monde,
Je voudrais savoir quel est le meilleur type pour stocker un nombre qui possède 20 chiffres aprés la virgule.
Merci d'avance
Aucun, faut que tu passes au type spéciaux que certains ont dévéloppé sur Developpez.com ou sur Phidels, la plupart sont des tableaux d'entiers, certains gère uniquement des grands entiers (tu peux simuler ton calcul flottant en considérant que tous tes nombres ont 20 chiffres après la virgule quoi qu'il arrive, disons comme le Currency qui en gère 4 systèmatique)
Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
Attention Troll Méchant !
"Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
L'ignorance n'excuse pas la médiocrité !
L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
Il faut avoir le courage de se tromper et d'apprendre de ses erreurs
bonjour
en regardant dans le help de delphi on trouve les etendues des types,
20 chiffres apres la virgule, je pense tu peux utiliser Real48 son etendue est (2.9 x 10^-39 .. 1.7 x 10^38)
bonne chance
Ok merci pour les infos.
Je vais essayer de me tourner vers une autre solution.
Euh, le Real48 cela dépend de l'implémentation, mais c'est 11 chiffres
Ensuite, tu as l'Extended, mais c'est 19-20 chiffres significatifs, et l'on peut considérer le dernier comme toujours faux (car arrondi), si l'on veut un calcul sur 20 chiffres exactes, il faut au moins faire les calculs sur 21 ou 22 significatifs ...
Ton aide est bizzare Samy !
Code Aide de Delphi 7 : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Types réels fondamentaux Type Etendue Chiffres significatifs Taille en octets Real48 2.9 x 10^-39 .. 1.7 x 10^38 11-12 6 Single 1.5 x 10^-45 .. 3.4 x 10^38 7-8 4 Double 5.0 x 10^-324 .. 1.7 x 10^308 15-16 8 Extended 3.6 x 10^-4951 .. 1.1 x 10^4932 19-20 10 Comp -2^63+1 .. 2^63 -1 19-20 8 Currency -922337203685477.5808.. 922337203685477.5807 19-20 8
Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
Attention Troll Méchant !
"Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
L'ignorance n'excuse pas la médiocrité !
L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
Il faut avoir le courage de se tromper et d'apprendre de ses erreurs
Attention, il ne faut pas confondre l'etendue et la precision. Pour un real48, tu as 11-12 chiffres significatifs.
Si tu prends un Extended, tu aura 19-20 chiffres significatifs, ce qui veut dire, si je ne me trompes pas, que tu aura 19 chiffres apres la virgule si ton nombre est inferieur à 10, 18 si il est inferieur a 100, ... , 10 si il est inferieur à 10 000 000 000, etc.
Les TGR (Trés grands réels) de Gilbert Geyer sont une excellente solution pour cela. Ils sont basés sur des calculs noyaux de grands entiers codés en base 100.
Voir ici
regardes ici, peut etre que ça va t'aider
http://delphiforfun.org/programs/Library/BigFloat.htm
NE JAMAIS UTILISER REAL48!
Real 48 ne correspond à aucune norme reconnue IEEE32 ou IEEE64, il viens du Pascal et n'est gardé que dans un soucis de compatibilité avec du code vieux datant d'au moins 15 ans!
le type le plus précis est Extended (float 80bits), delphi fait tout les calcul via Extended par défaut.
[ Sources et programmes de Dr.Who | FAQ Delphi | FAQ Pascal | Règlement | Contactez l'équipe ]
Ma messagerie n'est pas la succursale du forum... merci!
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager