IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Delphi Discussion :

20 chiffres aprés la virgule


Sujet :

Langage Delphi

  1. #1
    Membre averti

    Homme Profil pro
    Inscrit en
    Octobre 2003
    Messages
    908
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 908
    Points : 447
    Points
    447
    Par défaut 20 chiffres aprés la virgule
    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

  2. #2
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 447
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 447
    Points : 24 849
    Points
    24 849
    Par défaut
    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

  3. #3
    Invité1
    Invité(e)
    Par défaut
    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

  4. #4
    Membre averti

    Homme Profil pro
    Inscrit en
    Octobre 2003
    Messages
    908
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 908
    Points : 447
    Points
    447
    Par défaut
    Ok merci pour les infos.
    Je vais essayer de me tourner vers une autre solution.

  5. #5
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 447
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 447
    Points : 24 849
    Points
    24 849
    Par défaut
    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

  6. #6
    Membre expérimenté Avatar de guillemouze
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    876
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 876
    Points : 1 448
    Points
    1 448
    Par défaut
    Citation Envoyé par samy larson Voir le message
    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)
    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.

  7. #7
    Membre actif

    Homme Profil pro
    Inscrit en
    Mars 2009
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2009
    Messages : 128
    Points : 203
    Points
    203
    Par défaut
    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

  8. #8
    Invité1
    Invité(e)
    Par défaut
    regardes ici, peut etre que ça va t'aider

    http://delphiforfun.org/programs/Library/BigFloat.htm

  9. #9
    Membre éprouvé
    Avatar de Dr.Who
    Inscrit en
    Septembre 2009
    Messages
    980
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Septembre 2009
    Messages : 980
    Points : 1 294
    Points
    1 294
    Par défaut
    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!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. arrondir un nombre à 2 chiffres après la virgule
    Par El Saigneur dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 01/02/2005, 08h36
  2. Commande pour afficher des chiffres apres la virgule
    Par manar dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 23/09/2004, 18h28
  3. Chiffres après la virgule figés
    Par bondjames dans le forum Bases de données
    Réponses: 6
    Dernier message: 10/03/2004, 23h09
  4. [MFC] Nombre de chiffres après la virgule
    Par karl3i dans le forum MFC
    Réponses: 3
    Dernier message: 27/01/2004, 13h04
  5. Nb de chiffres après la virgule ?
    Par Thcan dans le forum C
    Réponses: 10
    Dernier message: 17/09/2003, 21h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo