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 |
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.
Un OU est un opération binaire dont la sortie s
est vraie si
a
ou b
);a
et b
) :a | b | s |
---|---|---|
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 1 |
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 :
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 |
En C, quel est l'opérateur du ET logique bit à bit ?
En C, quel est l'opérateur du OU logique bit à bit ?
En C, quel est l'opérateur du complément à 1 bit à bit ?
En C, quelle est la fonction de l'opérateur ^
?
Quels sont les opérateurs binaires (qui acceptent deux opérandes) ?