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

C Discussion :

utilisation de long double


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    410
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 410
    Par défaut utilisation de long double
    Salut, j'essaie de faire un p'ti programme de calcul de fft, d'habitude dès que je fais du calcul numérique j'utilise fortran mais là je veux le faire en c.
    Voila, alors je dois lire des données dans un fichier .dat avec une certaine précision, genre 25.2738621 dès que je faisais des fscanf avec des %f et double ça ne marchait pas, alors j'ai définit mes variables comme étant des long double. Donc à ce moment j'arrive à lire les données, seulement si je fais une opération entre 2 long double (a-b) j'ai n'importe quoi. Est ce que vous avez une idée? Merci davance.

  2. #2
    Membre Expert
    Avatar de Pragmateek
    Homme Profil pro
    Formateur expert .Net/C#
    Inscrit en
    Mars 2006
    Messages
    2 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Formateur expert .Net/C#
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 635
    Par défaut
    "long long double" peut être mais pas supporté par tout les compilos.

  3. #3
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par seriousme
    "long long double" peut être mais pas supporté par tout les compilos.
    Je ne pense pas que cet animal soit répertorié, même en C99...

  4. #4
    Membre éclairé Avatar de miron
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    479
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 479
    Par défaut
    Citation Envoyé par Emmanuel Delahaye
    Je ne pense pas que cet animal soit répertorié, même en C99...
    C99, du 13eme degrées?

  5. #5
    Membre Expert
    Avatar de Pragmateek
    Homme Profil pro
    Formateur expert .Net/C#
    Inscrit en
    Mars 2006
    Messages
    2 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Formateur expert .Net/C#
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 635
    Par défaut
    Je ne pense pas que cet animal soit répertorié, même en C99...
    Ce qui est étrange c'est que:
    sizeof(long long double) renvoie 8.
    En fait il est traité comme un "long long int".
    Et en effet il est rejeté par C99.

  6. #6
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par miron
    C99, du 13eme degrées?
    Non, c'est la dernière version du C.

    http://emmanuel-delahaye.developpez.com/notes.htm#norme

  7. #7
    Membre éclairé Avatar de miron
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    479
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 479
    Par défaut
    Citation Envoyé par Emmanuel Delahaye
    Non, c'est la dernière version du C.

    http://emmanuel-delahaye.developpez.com/notes.htm#norme
    Quand vous parlez de norme , c'est le nom des fonction, ...?

  8. #8
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par reptils
    Voila, alors je dois lire des données dans un fichier .dat avec une certaine précision, genre 25.2738621 dès que je faisais des fscanf avec des %f et double ça ne marchait pas,
    Ben oui. Pour lire un double, le format est "%lf" avec fscanf()...
    alors j'ai définit mes variables comme étant des long double. Donc à ce moment j'arrive à lire les données, seulement si je fais une opération entre 2 long double (a-b) j'ai n'importe quoi. Est ce que vous avez une idée? Merci davance.
    Sans voir le code et un extrait du fichier de données, ça pas être facile...

  9. #9
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    410
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 410
    Par défaut
    Citation Envoyé par Emmanuel Delahaye
    Ben oui. Pour lire un double, le format est "%lf" avec fscanf()...
    oups, je ne savais pas. Je vais tester avec les double uniquement

  10. #10
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    410
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 410
    Par défaut
    ouais c'est bon ça marche avec les double et %Lf j'ai enfin le bon résultat. par contre je ne pige pas pourquoi j'ai merdé sur les opération avec long double j'y réfléchirait plus tard

  11. #11
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par reptils
    ça marche avec les double et %Lf j'ai enfin le bon résultat.
    "%Lf" ou "%lf" ? C'est pas pareil...

  12. #12
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    410
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 410
    Par défaut
    alors je reviens je n'avais pas vu que tu avais posé une question là dessus, alors ça marche pour les double et %lf, mais il se trouve que pour le gcc livré avec dev-cpp il pige %Lf et %lf de la meme maniere pour un double :/
    Effectivement sur le gcc de linux il ne supporte pas %Lf pour un double il lui faut %lf ce qui est logique.

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

Discussions similaires

  1. Plantage avec utilisation de long double
    Par thebop dans le forum Débuter
    Réponses: 9
    Dernier message: 17/06/2009, 11h39
  2. Pourquoi utiliser un Long ou un Double ?
    Par n!co dans le forum Langage
    Réponses: 7
    Dernier message: 21/02/2007, 17h52
  3. Réponses: 4
    Dernier message: 12/09/2003, 11h38
  4. abs pour un long double
    Par barthelv dans le forum C
    Réponses: 2
    Dernier message: 23/07/2003, 16h16
  5. String -> long double (_strlold ?)
    Par haypo dans le forum C
    Réponses: 7
    Dernier message: 25/07/2002, 20h22

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