Bonjour,
je voudrais convertir une valeur double en (const uint8_t*) en C++ ?
merci
Bonjour,
je voudrais convertir une valeur double en (const uint8_t*) en C++ ?
merci
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.
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.
Partager