Opérateurs de bits C
Les opérateurs de bits exécutent l'opération de bits AND (&), de bits-exclusivité-OU (^), et de bits-inclus-OU (|) opérations.
Syntaxe
Et-expression:
égalité-expressionégalité-expression*&** d'Et-expression*
exclusivité-OU-expression:
Et-expressionEt-expression de**^** d'exclusivité-OU-expression
inclus-OU-expression:
exclusivité-OU-expressioninclus-OU-expression | exclusivité-OU-expression
Les opérandes des opérateurs de bits doivent avoir des types intégraux, mais leurs types peuvent être différents.ces opérateurs exécutent les conversions arithmétiques habituelles ; le type du résultat est le type des opérandes après la conversion.
Les opérateurs de bits C sont décrits ci-dessous :
Opérateur |
Description |
---|---|
& |
L'opérateur de bits AND compare chaque bit de son premier opérande au bit correspondant de son opérande.Si les deux bits sont 1, le bit correspondant de résultat a la valeur 1.Sinon, le bit correspondant de résultat a la valeur 0. |
^ |
De bits-exclusivité-OU opérateur compare chaque bit de son premier opérande au bit correspondant de son opérande.Si un bit est 0 et l'autre bits est 1, le bit correspondant de résultat a la valeur 1.Sinon, le bit correspondant de résultat a la valeur 0. |
| |
De bits-inclus-OU opérateur compare chaque bit de son premier opérande au bit correspondant de son opérande.Si l'un des bits est 1, le bit correspondant de résultat a la valeur 1.Sinon, le bit correspondant de résultat a la valeur 0. |
Exemples
ces déclarations sont utilisées pour les trois exemples suivants :
short i = 0xAB00;
short j = 0xABCD;
short n;
n = i & j;
Le résultat assigné à n dans ce premier exemple est identique à i (hexadécimale 0xAB00).
n = i | j;
n = i ^ j;
Le de bits-inclus OR dans le deuxième exemple entraîne la valeur 0xABCD (hexadécimal), alors que la de bits-exclusivité OR dans le troisième exemple produit 0xCD (hexadécimal).
Spécifique à Microsoft
les résultats de l'opération de bits sur l'entier signé implémentation-est définis selon la norme C ANSI.Pour le compilateur C Microsoft, les opérations de bits sur l'entier signé fonctionnent les mêmes que les opérations de bits sur les entiers non signés.Par exemple, -16 & 99 peut être exprimé en binaire comme
11111111 11110000
& 00000000 01100011
_________________
00000000 01100000
Le résultat de l'opération de bits AND est la décimale 96.
détail de FIN Microsoft
Voir aussi
Référence
Au niveau opérateur de bits AND : et