Conversion Binaire->Chaine et Chaine->Binaire

Résolu
Signaler
Messages postés
115
Date d'inscription
samedi 20 décembre 2003
Statut
Membre
Dernière intervention
23 août 2008
-
Messages postés
115
Date d'inscription
samedi 20 décembre 2003
Statut
Membre
Dernière intervention
23 août 2008
-
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

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

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

A+

===========
Rouliann
C/C++