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

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

Votre réponse

2 réponses

Meilleure réponse
ymca2003
Messages postés
2070
Date d'inscription
mardi 22 avril 2003
Dernière intervention
3 juillet 2006
- 30 mars 2006 à 19:18
3
Merci
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

Merci ymca2003 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 94 internautes ce mois-ci

Commenter la réponse de ymca2003
Rouliann
Messages postés
115
Date d'inscription
samedi 20 décembre 2003
Dernière intervention
23 août 2008
- 30 mars 2006 à 20:53
0
Merci
"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.