begin process at 2010 02 10 07:59:40
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Divers

 > 

Général

 > 

Testé la valeur du 7ème bit


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Testé la valeur du 7ème bit

jeudi 29 mars 2007 à 19:13:35 | Testé la valeur du 7ème bit

Francks11

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  
jeudi 29 mars 2007 à 21:23:04 | Re : Testé la valeur du 7ème bit

clempar55

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).
jeudi 29 mars 2007 à 21:59:43 | Re : Testé la valeur du 7ème bit

SAKingdom

Membre Club
Quand on parle du 7ème bit, c'est toujours à partir de la droite donc:

c |= 64;
Pour mettre le 7ème bit à 1
c ^= 64
Pour mettre le 7ème bit à 0

if(c&64)
pour tester si 7ème bit == 1
if(!(c&64))
Pour tester si 7ème bit == 0

C++ (@++)

jeudi 29 mars 2007 à 22:07:33 | Re : Testé la valeur du 7ème bit

SAKingdom

Membre Club
Oups pardon, petite erreur.

C'est pas
c ^= 64
mais
c &= 191;
Pour mettre le 7ème bit à 0.

C++ (@++)

vendredi 30 mars 2007 à 11:32:30 | Re : Testé la valeur du 7ème bit

clempar55

Désolé autant pour moi (j'avais une chance sur deux alors j'ai pris dans le sens de la lecture ^^)
vendredi 30 mars 2007 à 13:26:36 | Re : Testé la valeur du 7ème bit

racpp

Administrateur CodeS-SourceS

Salut,

Normalement, les bits sont représentés de gauche à droite par leurs puissances de 2:


76543210
10101010
Ainsi le bit 7 est le premier à gauche. Il a donc le poids le plus fort dans un octet.
Pour mettre ce bit à 1 il suffit d'appliquer un OR à l'octet avec la valeur 0x80. Pour le mettre à 0 on lui applique un AND avec l'inverse bit à bit de la valeur 0x80. Pour savoir si ce bit 7 est à 1 on teste l'octet avec la valeur 0x80. Exemple:

    char a,b;
    a=49;
    // Mettre le bit 7 à 1:
    a=a | 0x80;
    //Mettre le bit 7 à 0:
    a= a & ~0x80;
    // Récupérer l'état du bit 7:
    b= a & 0x80;

vendredi 30 mars 2007 à 21:05:15 | Re : Testé la valeur du 7ème bit

SAKingdom

Membre Club
Le bit 7 est à l'extrême gauche oui mais là on parle du 7ème bit donc du bit 6.
Menfin, si ce n'est pas le cas, il s'est mal exprimé.

C++ (@++)

vendredi 30 mars 2007 à 21:06:33 | Re : Testé la valeur du 7ème bit

SAKingdom

Membre Club
A non! En fait c'est moi qui ai mal lu. Il s'agit bien du bit 7 et non du 7ème.
Désolé.

C++ (@++)

samedi 31 mars 2007 à 08:31:50 | Re : Testé la valeur du 7ème bit

Francks11

ben en faite toute marche bien sur des caracteres sans accent et chiffres mais dès que y a un accent ca va plus car le bit 7, donc le 8 est à 1 dès qu'on met un accent, donc impossible de savoir...


Cette discussion est classée dans : valeur, processus, bit, testé, 7ème


Répondre à ce message

Sujets en rapport avec ce message

Envoyer un signal à un processus [ par Zorgg ] Bonjour, J'aurais besoin d'envoyer juste un bit de temps a autre entre deux processus sous windows. Je pensais utiliser les signaux (signal.h) Mais je Trouver le pid d'un processus depuis son nom (C++) [ par tekila_bandita ] Bonjour !Donc voila, cela fait un moment que je cherche mais je n'y arrive pas...Quelqu'un aurait-il une fonction pour trouver le pid d'un processus à Savoir si un processus est déjà lancé [ par Sum03 ] Bonjour à tous, Je recharche à savoir, de la manière la plus simple possible, si un processus est lancé ou non en c++ (j'utilise l'api win32) en sach Recupérér Handle de d'un processus [ par kiki67100 ] Bonjour je voudrais recuperer le handle d'un processus active ex :explorer.exejai deja un code similaire mais il trouve que le PID a partir du process récupération de paramètre d'ihm [ par zebulonlon ] Bonjour,Je suis actuellement se train de développer un programme sous visual C++. Je voudrai savoir comment je pourrai récupérer une valeur entrée par code correct mais rien ne s'affiche :( [ par djedu59 ] Bonsoir les programmeurs je suis entrain de creer un programme "nombre mystere" (tres courant ) que j'ai appris grace a un livre et j'essaye maintenan [Win32] Problème Static / Scrollbar [ par Iphelias ] Bonjour,Voila j'ai un petit Soucis en fait dans mon application win32, j'ai une scrollbar et j'aimerais mettre à jour un champ correspondant à la vale Screen Shot [ par darunia ] Salut,Je cherche desperement comment effectuer un screen shot pour mettre la valeur des pixels à l'ecran dans un buffer. J'ai essayé GetPixel, mais il Ajouter des bit a la fin d'un fichier [ par sebastienmz ] BOnjourje suis en train de faire un peut comme des achive zip mais dans mon format et jaimerais savoire comme ajouter des octets a la fin d'un fichier le signe "^" en C++ [ par pofipofo ] Bonjour,j'ai un programme avec le signe ^.Je sais que c'est un opérateur logique XOR bit à bit, mais...et oui y'a un mais sinon je ne serai pas là!...


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,702 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales