Testé la valeur du 7ème bit

Francks11
Messages postés
71
Date d'inscription
mardi 20 décembre 2005
Statut
Membre
Dernière intervention
13 décembre 2008
- 29 mars 2007 à 19:13
Francks11
Messages postés
71
Date d'inscription
mardi 20 décembre 2005
Statut
Membre
Dernière intervention
13 décembre 2008
- 31 mars 2007 à 08:31
bonjour,

voila je fais une application qui envoi un caractere (char) à un processus et je dois savoir de quel processus il vient pour faire le bon traitement...

donc si c le processus 1, je voudrais mettre le bit 7 à 1 du char
et sinon je le laisse à 0...

et je voudrais aussi savoir comment on voit si le bit 7 apres le passage dans le tube est à 1, et si oui, comment enlever le 1 devant...

je vous remercie  

8 réponses

clempar55
Messages postés
59
Date d'inscription
samedi 1 janvier 2005
Statut
Membre
Dernière intervention
4 avril 2007

29 mars 2007 à 21:23
Il faut jouer avec les opérateur bit à bit | et &  (dans cet exemple j'ai supposé que le "bit 7" était le 7eme en partant de la gauche):

char c; // char a modifier

// modifier le bit:
c = c | 2;  // pour mettre le bit 7 à 1 (2== 00000010 en binaire )
c = c & 253; // pour mettre le bit 7 à 0 (253== 11111101 en binaire )

//lire le bit :
bool bit = c & 2;   // bit==true si le bit 7 est à 1, false sinon

Voila cela doit être bon ( mais fait sans test alors à vérifier).
0