14. Manipuler - &

La manipulation de bits consiste à agir sur des données au niveau d’un bit à l’aide d’opérations booléennes. Cette technique est utilisée pour des opérations de bas niveau comme le contrôle des périphériques, la détection et la correction d’erreur, le chiffrement, ainsi que pour l’optimisation.

Dans ce chapitre nous allons explorer des opérateurs qui manipulent un nombre au niveau de ses bits (bitwise operation). Nous allons voir que :

  • l’opérateur & effectue une opération and par bit,

  • l’opérateur | effectue une opération or par bit,

  • l’opérateur ^ effectue une opération xor par bit.

Question

L’expression 2 & 3 donne comme résultat




Bitwise and (&)

Bitwise or (|)

Bitwise xor (^)

Bitwise inversion (~)

Pixels noir et blanc

Par la suite nous affichons les pixels comme une image noir est blanc:

  • 0 = pixel blanc

  • 1 = pixel noir

Code binaire et hex

Bitwise and

L’opérateur & effectue l’opération logique and pour chaque bit d’un nombre. Dans une image noir et blanc, ceci correspond à l’intersection des pixels des deux images.

Bitwise ou

L’opérateur | effectue l’opération logique or pour chaque bit d’un nombre. Dans une image noir et blanc, ceci correspond à l’union des pixels des deux images.

Bitwise exclusive-or

L’opérateur ^ effectue l’opération ou exclusif pour chaque bit du nombre. Dans une image noir et blanc, ceci correspond à inverser les pixels de la première image qui sont indiqué par la deuxième image.

Quiz

AND logique

Rappel

0 & 0 = 0
0 & 1 = 0
1 & 0 = 0
1 & 1 = 1

OR logique

Rappel

0 | 0 = 0
0 | 1 = 1
1 | 0 = 1
1 | 1 = 1

XOR logique

Rappel

0 ^ 0 = 0
0 ^ 1 = 1
1 ^ 0 = 1
1 ^ 1 = 0