Cours 3.5. Les opérateurs bit à bit

Les opérateurs logiques bit à bit permettent de réaliser des opérations logiques bit à bit sur des variables. Voici les 6 opérateurs du C :

Opérateur Opération Notation anglaise Type
& ET logique bit à bit AND binaire
| OU inclusif bit à bit OR binaire
^ OU exclusif bit à bit XOR binaire
~ complément à un (inversion) NOT unaire
>> décalage à droite Right shift binaire
<< décalage à gauche Left shift binaire

ET logique bit à bit (AND)

Représentation logique d'une porte logique ET

Un ET est un opération binaire dont la sortie s n'est vraie que si les deux entrées (a et b) sont vraies :

a b s
0 0 0
0 1 0
1 0 0
1 1 1

Lorsque cet opérateur est utilisé sur des variables, il s'applique bit à bit. C'est-à-dire que le premier bit du résultat sera le ET logique du premier bit du premier opérande et du premier bit du deuxième opérande. Nous y reviendrons en détail dans le cours suivant.

OU inclusif bit à bit (OR)

Représentation logique d'une porte logique OU inclusif

Un OU est un opération binaire dont la sortie s est vraie si

a b s
0 0 0
0 1 1
1 0 1
1 1 1

OU exclusif bit à bit (XOR)

Représentation logique d'une porte logique OU exclusif

Un OU exclusif est un opération binaire dont la sortie s est vraie si et seulement si une des deux entrées (a et b) est vraie :

a b s
0 0 0
0 1 1
1 0 1
1 1 0

En français, nous ne faisons pas la distinction entre le OU et le OU exclusif. Voici deux exemples :

Complément à 1 (NOT)

Représentation logique d'une porte logique NON

Un complément à un est un opération unaire dont la sortie s est vraie si et seulement si l'entrée a est fausse. Cet opérateur logique inverse les bits d'entrées :

a s
0 1
1 0

Quiz

En C, quel est l'opérateur du ET logique bit à bit ?

Vérifier Bravo ! Le & est l'opérateur ET logique bit à bit. Essaie encore ...

En C, quel est l'opérateur du OU logique bit à bit ?

Vérifier Bravo ! Le | est l'opérateur OU logique bit à bit. Essaie encore ...

En C, quel est l'opérateur du complément à 1 bit à bit ?

Vérifier Bravo ! Le ~ est l'opérateur complément à un bit à bit. Essaie encore ...

En C, quelle est la fonction de l'opérateur ^ ?

Vérifier Bravo ! En C, l'accent circonflexe est l'opérateur du OU exclusif et non l'exposant. Essaie encore ...

Quels sont les opérateurs binaires (qui acceptent deux opérandes) ?

Vérifier Bravo ! L'inversion de bits est forcement un opérateur unaire. Essaie encore ...

Voir aussi


Dernière mise à jour : 14/10/2021