2
bit
medina5 edited this page 2025-09-12 07:45:58 +02:00

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