nomenclature C - C - Programmation
Marsh Posté le 03-05-2006 à 12:33:04
">>" et "<<"sont des opérateurs de décalage de bit
"^" est le XOR
quand on ajoute "=" , on affecte le résultat à l'opérande de gauche
Marsh Posté le 03-05-2006 à 14:14:11
marcellus911 a écrit : salut, |
1. peut s'écrire aussi data=data << 6
2. peut s'écrire aussi *puCRC=(*puCRC) ^ data
3. peut s'écrire aussi *puCRC=(*puCRC) >> 8
Le décalage de bits revient à décaler vers la droite (ou vers la gauche) les bits d'une expression
Ex: a=3 => a=00000011 (en binaire)
a << 3 => 00011000 soit 24
Décaler de "n" bits vers la gauche revient à multiplier la valeur par 2^n
Décaler de "n" bits vers la droite revient à diviser la valeur par 2^n (il faut prendre en compte le bit de signe si l'opérande est signé mais ce pb ne te concerne pour l'instant pas)
_darkalt3_ a écrit : "^" est le XOR |
Le XOR se fait bit à bit sur les deux opérandes
Ex: a=3 (0011) et b=5 (0101)
a^b => 0011 XOR 0101 (bit par bit) => 0110 soit 6
Marsh Posté le 03-05-2006 à 12:31:01
salut,
je dois analyser un programme C mais n'ayant pas beaucoup fait de C il y a qqles instructions dont je ne comprend pas le sens (les instructions 1 à 4):
int data; // entier
unsigned int *puCRC; // pointeur sur entier non signé
1. data <<=6; // affectation ??
2. *puCRC ^=data; // ??
3. *puCRC >>= 8; // ??
4. data = (data^(*puCRC)); // ??