Bitwise Operators

10 min Niveau 3

Opérateurs Binaires (Bitwise Operators) en Python

Les opérateurs binaires en Python permettent de manipuler des nombres au niveau des bits. Ils sont principalement utilisés pour des calculs à faible niveau ou des opérations sur des données binaires.

Opérateurs Binaires Disponibles

ET Bit à Bit (&)

Utilisation : Compare chaque bit de ses opérandes. Si les deux bits sont 1, le bit de résultat est 1.

result = a & b

OU Bit à Bit (|)

Utilisation : Compare chaque bit de ses opérandes. Si au moins un des bits est 1, le bit de résultat est 1.

result = a | b

OU Exclusif Bit à Bit (XOR, ^)

Utilisation : Compare chaque bit de ses opérandes. Si les deux bits sont différents, le bit de résultat est 1.

result = a ^ b

Non Bit à Bit (NOT, ~)

Utilisation : Inverse chaque bit. 0 devient 1 et 1 devient 0.

result = ~a

Décalage à Gauche (<<)

Utilisation : Décale les bits vers la gauche, en ajoutant des zéros à droite.

result = a << 2  # Décale a de 2 bits vers la gauche

Décalage à Droite (>>)

Utilisation : Décale les bits vers la droite.

result = a >> 2  # Décale a de 2 bits vers la droite

Utilisation Pratique

Masquage : Utilisé pour masquer certains bits (par exemple, extraire certains bits spécifiques d'un nombre). Paramètres de Configuration : Permet de stocker plusieurs valeurs booléennes dans un seul entier. Optimisation : Ces opérateurs peuvent être plus rapides pour certains types de calculs.

Exemples

a = 0b1101  # 13 en décimal
b = 0b1011  # 11 en décimal

# ET Bit à Bit
et_result = a & b  # 0b1001 (9 en décimal)

# OU Bit à Bit
ou_result = a | b  # 0b1111 (15 en décimal)

# XOR Bit à Bit
xor_result = a ^ b  # 0b0110 (6 en décimal)

# Non Bit à Bit
not_result = ~a  # -14 en décimal (dépend du système de complément à deux)

# Décalage à Gauche
left_shift = a << 2  # 0b110100 (52 en décimal)

# Décalage à Droite
right_shift = a >> 2  # 0b11 (3 en décimal)

Bonnes Pratiques

Clarté : Utilisez ces opérateurs lorsque cela est logique; évitez-les pour des opérations simples qui pourraient être réalisées plus clairement avec d'autres opérateurs.

Commentaires : Ajoutez des commentaires pour expliquer ce que font ces opérations, car elles peuvent être difficiles à comprendre pour ceux qui ne sont pas familiers avec la manipulation de bits.

logo discord

Besoin d'aide ?

Rejoignez notre communauté officielle et ne restez plus seul à bloquer sur un problème !

En savoir plus