2.1.4.1 Opérations des chaînes de bits appliquées aux types entiers

Bit-string Operations

Certaines opérations normalement applicables aux chaînes de bits sont applicables également aux types entiers et entiers longs. Les nombres négatifs sont vus comme leur complément à 2 (pour les entiers longs, ceci suppose un nombre de bits suffisant pour éviter les débordements).

Les priorités des opérateurs binaires bit-à-bit sont toutes inférieures à celles des opérations numériques et supérieures à celles des comparaisons. L'opération unaire "~" possède la même priorité que les opérations numériques unaires "+" et "-".

La table suivante liste les opérations sur chaînes de bits, par ordre croissant de priorité (même priorité dans une même case):

Opération Résultat Notes 
x | you bit-à-bit de x et y 
x ^ you exclusif bit-à-bit de x et y 
x & yet bit-à-bit de x et y 
x << ndécalage à gauche de n bits pour x(1), (2)
x >> ndécalage à droite de n bits pour x(1), (3)
~xinversion des bits de x 

Notes:

(1)
Une valeur de décalage négative est illégale et lève l'exception ValueError.
(2)
Un décalage à gauche de n bits est équivalent à une multiplication par pow(2, n) mais sans contrôle de dépassement.
(3)
Un décalage à droite de n bits est équivalent à une division par pow(2, n) mais sans contrôle de dépassement.