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 C++ Discussion :

Convertir double en (const uint8_t*)


Sujet :

Langage C++

  1. #1
    Membre très actif
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    427
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 427
    Par défaut Convertir double en (const uint8_t*)
    Bonjour,

    je voudrais convertir une valeur double en (const uint8_t*) en C++ ?

    merci

  2. #2
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 058
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 058
    Billets dans le blog
    142
    Par défaut
    Bonjour,

    Je ne sais pas pourquoi vous voulez un const uint8_t* (c'est-à-dire, un pointeur sur un entier non signé codé sur 8 bits), mais pour convertir un nombre à virgule vers un entier, vous pouvez utiliser std::floor, std::ceil, std::round ou std::trunc. À vous de choisir la politique d'approximation de votre nombre à virgule .
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  3. #3
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 392
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 392
    Par défaut
    Veux-tu vraiment convertir un nombre à virgule flottante en pointeur, ou cherches-tu plutôt à accéder aux "vrais" bits composant le nombre?
    Dans le second cas, le plus simple est d'utiliser un union:
    Code C : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    union prepareForTrouble
    {
    	uint8_t makeIt[sizeof(double)];
    	double preserve;
    };
     
    void Denounce(double d)
    {
    	prepareForTrouble u;
    	u.preserve  = d;
    	const uint8_t *unite = u.makeIt;
    }
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

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

Discussions similaires

  1. convertir double en int toujours à zero
    Par royreal dans le forum C#
    Réponses: 3
    Dernier message: 04/04/2010, 16h35
  2. convertir double en int64
    Par akrlot dans le forum C
    Réponses: 15
    Dernier message: 28/06/2007, 13h59
  3. Convertir String^ en const char*
    Par Sixdeux dans le forum C++/CLI
    Réponses: 3
    Dernier message: 22/05/2007, 09h58
  4. convertir flotant en "const char*"
    Par chmimi05 dans le forum C++
    Réponses: 3
    Dernier message: 11/03/2007, 23h13
  5. Convertir CString en const char*: ca marche pas
    Par MDiabolo dans le forum Visual C++
    Réponses: 12
    Dernier message: 21/11/2006, 18h10

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