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 :

Passage double vers float


Sujet :

C++

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 29
    Par défaut Passage double vers float
    Bonjour,

    je suis en train d'etudier un ptit bout de code de generation de terrain ... et la j'ai un soucis pour caler ma camera ... bref ...

    Mon soucis est le prog extrai un double d'un fichier et l'utilise en temps que float (sans soucis de compilation) ! le soucis est que je ne sais pas comment il fait pour passer de l'un à l'autre

    Exemple :

    double toto => 1826838570
    float toto => -156.194626

    voila, je vois pas comment il passe de l'un à l'autre ...
    J'ai loupé un paragraphe qque part ? QQun sait ?

    Merci !

  2. #2
    Membre éclairé Avatar de ZaaN
    Inscrit en
    Novembre 2005
    Messages
    819
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 819
    Par défaut
    tu parles d'un casting simple ????

    j ai un peu du mal a comprendre ta question...

  3. #3
    Membre émérite Avatar de valefor
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    711
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 711
    Par défaut
    Tu veux dire que le programme lit un fichier texte contenant des doubles ?

  4. #4
    Membre expérimenté Avatar de Kujara
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    262
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 262
    Par défaut
    Montre nous le code qui lit le fichier et stocke la valeur dans ton double / float, s'il te plait ?

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    406
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 406
    Par défaut
    salut!
    Je ne sais pas si tu as compris la différence entre un float et un double, mais le float est un chiffre à virgules en langage C, alors que le double est la version évoluée du float, mais le double, c'est du C++.
    Si tu veux un float, tu peux utiliser un double tout simple.
    Je vois pas pourquoi tu voudrais caster un objet de type double en un objet de type float sachant que c'est la même chose.
    A+

  6. #6
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 966
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 966
    Par défaut
    Miu,
    Citation Envoyé par womannosky Voir le message
    salut!
    Je ne sais pas si tu as compris la différence entre un float et un double, mais le float est un chiffre à virgules en langage C, alors que le double est la version évoluée du float, mais le double, c'est du C++.
    Si tu veux un float, tu peux utiliser un double tout simple.
    Je vois pas pourquoi tu voudrais caster un objet de type double en un objet de type float sachant que c'est la même chose.
    A+
    Gné ?

    Le double existe évidemment en C, et ce n'est pas la même chose que float.

    Ce sont tous les deux des nombres à virgule flottante, mais l'un occupe 4 octets en mémoire (float) et l'autre 8.

    Mais effectivement, il n'y a pas besoin de cast pour passer de l'un à l'autre, ça se fait automatiquement.
    Mais il faut quand même prendre des précautions quand on convertit un double en float, car il y a dans ce cas possibilité de dépassement de capacité, et, de toute manière, perte de précision.

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    406
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 406
    Par défaut
    Désolé pour ma fausse réponse, effectivement, le double existe en C, j'avais complètement oublié.

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 29
    Par défaut
    D'où ma question !

    Comment qd il fait :

    double titi = 1826838570;
    float toto = titi;

    Il me sort toto = -156.194626 !

    Comment il fait pour passer de 1826838570 à -156.194626 ...
    QUel est le rapport ?

    Merci !

  9. #9
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut
    Citation Envoyé par Rastapopoulos Voir le message
    D'où ma question !

    Comment qd il fait :

    double titi = 1826838570;
    float toto = titi;

    Il me sort toto = -156.194626 !

    Comment il fait pour passer de 1826838570 à -156.194626 ...
    QUel est le rapport ?

    Merci !
    ... ca ne doit pas etre cela?
    comment tu regarde tes variable??
    en mode debug? en mode release? par des cout?

  10. #10
    Membre éclairé Avatar de ZaaN
    Inscrit en
    Novembre 2005
    Messages
    819
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 819
    Par défaut
    Citation Envoyé par Rastapopoulos Voir le message
    Il me sort toto = -156.194626 !
    Très difficile à croire...
    Compare le resultat à travers plusieurs sorties differentes.

  11. #11
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 966
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 966
    Par défaut
    Mio,
    Citation Envoyé par Rastapopoulos Voir le message
    D'où ma question !

    Comment qd il fait :

    double titi = 1826838570;
    float toto = titi;

    Il me sort toto = -156.194626 !

    Comment il fait pour passer de 1826838570 à -156.194626 ...
    QUel est le rapport ?

    Merci !
    Si difficile à croire ...


    ... que je n'y crois pas un instant.

    Ce n'est certainement pas avec ce code que tu obtiens cela.

  12. #12
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    Tu affiches ta variable comment ?

Discussions similaires

  1. Convertion Double vers String
    Par brsoft.org dans le forum Langage
    Réponses: 11
    Dernier message: 28/09/2006, 15h19
  2. prototype erf : double ou float ?
    Par nicolas.puiroux dans le forum C
    Réponses: 5
    Dernier message: 07/09/2006, 10h39
  3. Passage état vers Word
    Par lokal64 dans le forum Access
    Réponses: 1
    Dernier message: 28/04/2006, 11h53
  4. Pb de conversion: double[] vers un vector type???
    Par hycsos dans le forum SL & STL
    Réponses: 4
    Dernier message: 15/01/2006, 07h59
  5. Pb Form/sous Form du passage NT vers XP...
    Par toyyo dans le forum IHM
    Réponses: 2
    Dernier message: 25/11/2005, 17h45

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