Conversion Binaire->Chaine et Chaine->Binaire [Résolu]

Rouliann 115 Messages postés samedi 20 décembre 2003Date d'inscription 23 août 2008 Dernière intervention - 30 mars 2006 à 18:49 - Dernière réponse : Rouliann 115 Messages postés samedi 20 décembre 2003Date d'inscription 23 août 2008 Dernière intervention
- 30 mars 2006 à 20:53
Bonjour à tous!

Voilà mon problème : je veux convertir une couleur de 24 bits en une couleur 15bits...
Le seul moyen que j'ai trouvé pour faire ceci c'est de prendre chacune des composantes rgb séparément, de les convertir sur 5bits puis de les transformer en chaine, de concaténer le tout et de le retransformer en binaire...

Première question : Y a-t-il plus simple ?? lol ... si non, deuxieme question :
Comment faire la conversion binaire->chaine et chaine->binaire ??

Merci d'avance pour vos réponses.
A+

===========
Rouliann
C/C++
Afficher la suite 

2 réponses

Répondre au sujet
ymca2003 2070 Messages postés mardi 22 avril 2003Date d'inscription 3 juillet 2006 Dernière intervention - 30 mars 2006 à 19:18
+3
Utile
Il y a surement plus simple. Peux-tu donner un exemple ?

Si tu garde que les 5 bits de poids fort de chaque composante et que tu conctène ça donneriat :
long color = 0x00123456

// récup composanteint c1 color&0xff; // c1 0x56int c2 (color>>8)&0xff; // c2 0x34int c3 (color>>16)&0xff; // c3 0x12

// suppression 3 bits poids faiblec1 c1>>3; // c1 0x0Ac2 c2>>3; // c2 0x06c3 c3>>3; // c3 0x02

// recompositionlong cvt c1 | (c2<<5) | (c3<<10); // cvt 0x08CA
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de ymca2003
Rouliann 115 Messages postés samedi 20 décembre 2003Date d'inscription 23 août 2008 Dernière intervention - 30 mars 2006 à 20:53
0
Utile
"long cvt = c1 | (c2<<5) | (c3<<10);"

C'est ça que je cherchais! Merci beaucoup !! =)

A+

===========
Rouliann
C/C++
Commenter la réponse de Rouliann

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.