Partager via


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-expression

    Et-expression de**^** d'exclusivité-OU-expression

  • inclus-OU-expression:
    exclusivité-OU-expression

    inclus-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

Opérateur OR au niveau de le bit exclusif : ^

Opérateur OR de bits inclus : |