Opérateurs
This commit is contained in:
65
opérateurs/bit.md
Normal file
65
opérateurs/bit.md
Normal file
@@ -0,0 +1,65 @@
|
||||
# Opérateurs bit-à-bit
|
||||
|
||||
Les opérateurs bit-à-bit travaillent sur chacun des bits des opérandes.
|
||||
|
||||
## Inversion bit-à-bit
|
||||
|
||||
L'opérateur `~` retourne 0 pour un bit à 1 et 1 pour un bit à 0. C'est un opérateur unaire
|
||||
|
||||
v | r | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0
|
||||
-----|----:|--:|--:|--:|--:|--:|--:|--:|--:
|
||||
a | 73 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 1
|
||||
~a | 182 | 1 | 0 | 1 | 1 | 0 | 1 | 1 | 0
|
||||
|
||||
|
||||
## ET bit-à-bit
|
||||
|
||||
L'opérateur `&` retourne 1 si les deux bits de même poids sont à 1
|
||||
|
||||
v | r | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0
|
||||
------|--:|--:|--:|--:|--:|--:|--:|--:|--:
|
||||
a | 73 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 1
|
||||
b | 15 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1
|
||||
a & b | 9 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 1
|
||||
|
||||
|
||||
## OU bit-à-bit
|
||||
|
||||
L'opérateur `|` retourne 1 si l'un ou l'autre des deux bits de même poids est à 1 (ou les deux).
|
||||
|
||||
v | r | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0
|
||||
---|--:|--:|--:|--:|--:|--:|--:|--:|--:
|
||||
a | 73 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 1
|
||||
b | 15 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1
|
||||
a \| b | 79 | 0 | 1 | 0 | 0 | 1 | 1 | 1 | 1
|
||||
|
||||
|
||||
## OU exclusif bit-à-bit
|
||||
|
||||
L'opérateur `^` retourne 1 si un seul des deux bits de même poids est à 1.
|
||||
|
||||
v | r | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0
|
||||
---|--:|--:|--:|--:|--:|--:|--:|--:|--:
|
||||
a | 73 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 1
|
||||
b | 15 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1
|
||||
a ^ b | 70 | 0 | 1 | 0 | 0 | 0 | 1 | 1 | 0
|
||||
|
||||
|
||||
## Décalage à droite
|
||||
|
||||
Un décalage à droite revient à efectuer un division entière par 2.
|
||||
|
||||
v | r | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0
|
||||
---|--:|--:|--:|--:|--:|--:|--:|--:|--:
|
||||
a | 73 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 1
|
||||
a >> 2 | 18 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0
|
||||
|
||||
|
||||
## Décalage à gauche
|
||||
|
||||
Un décalage à gauche revient à efectuer une multiplication par 2.
|
||||
|
||||
v | r | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0
|
||||
-------|--:|--:|--:|--:|--:|--:|--:|--:|--:
|
||||
a | 9 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 1
|
||||
a << 2 | 36 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0
|
||||
Reference in New Issue
Block a user