Comprendre les opérations au niveau du bit
En programmation, les opérations au niveau du bit manipulent les valeurs multi-bits un bit à la fois. Contrairement aux opérateurs arithmétiques, qui effectuent des calculs mathématiques, les opérateurs au niveau du bit se concentrent sur des bits individuels au sein d'une valeur.
Types d'opérateurs au niveau du bit
-
ET au niveau du bit (&) : Produit 1 uniquement si les deux bits d'entrée sont 1, sinon c'est 0.
-
Bitwise OR (|) : produit 1 si un ou les deux bits d'entrée sont 1, sinon c'est 0.
-
XOR au niveau du bit (^) : produit 1 uniquement si exactement un bit d'entrée est 1, sinon c'est 0.
-
Bitwise NOT (~) : Sorties 1 seulement si son bit d'entrée est 0, sinon c'est 0.
Opérateurs de décalage
En Python, >> et ≪≪ sont couramment utilisés dans les opérations au niveau des bits.
- Décalage gauche (<<) : décale les bits vers la gauche du nombre de positions spécifié.
- Right Shift (>>) : décale les bits vers la droite du nombre spécifié de positions.
Utilisations pratiques des opérateurs au niveau du bit
-
Filtrage des données : En utilisant & avec un masque, il est possible de filtrer sélectivement des bits spécifiques d'une valeur.
-
Bit Packing : combiner plusieurs petites valeurs en une plus grande en utilisant << et |.
-
Manipulation des indicateurs : vérification et définition d'indicateurs individuels dans un registre d'état.
-
Opérations arithmétiques : les opérateurs au niveau du bit peuvent être utilisés pour certains opérations arithmétiques, telles que l'exponentiation (en utilisant des shifts).
Exemple
Considérez le code Python :
x = 1 # 0001
x << 2 # Shift left 2 bits: 0100
# Result: 4
x | 2 # Bitwise OR: 0011
# Result: 3
x & 1 # Bitwise AND: 0001
# Result: 1
Copier après la connexion
- Left Shift (<< 2) : décale les bits de x vers la gauche de 2 positions, ce qui donne une valeur de 4.
- OU au niveau du bit (| 2) : combine les bits de x avec 2, ce qui donne une valeur de 3.
- AND au niveau du bit (& 1) : vérifie si le bit le moins significatif de x est 1, ce qui est le cas, ce qui donne une valeur de 1.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!