Conversion Binaire->Chaine et Chaine->Binaire

Résolu
Rouliann Messages postés 115 Date d'inscription samedi 20 décembre 2003 Statut Membre Dernière intervention 23 août 2008 - 30 mars 2006 à 18:49
Rouliann Messages postés 115 Date d'inscription samedi 20 décembre 2003 Statut Membre Dernière intervention 23 août 2008 - 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++

2 réponses

ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 7
30 mars 2006 à 19:18
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
3
Rouliann Messages postés 115 Date d'inscription samedi 20 décembre 2003 Statut Membre Dernière intervention 23 août 2008 1
30 mars 2006 à 20:53
"long cvt = c1 | (c2<<5) | (c3<<10);"

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

A+

===========
Rouliann
C/C++
0
Rejoignez-nous