1. Opérateurs de décalage de bits
- << : Décalage vers la gauche.
- >> : Décalage vers la droite.
- >>> : décalage à droite non signé (avec remplissage nul).
2. Syntaxe générale des opérateurs de décalage
valeur ≪≪ num-bits : décale les bits de valeur vers la gauche.
valeur >> num-bits : décale les bits de valeur vers la droite, en préservant le bit de signe.
valeur >>> num-bits : décale les bits de valeur vers la droite, en insérant des zéros à gauche.
3. Décalage vers la gauche
- Chaque décalage vers la gauche entraîne le déplacement de tous les bits de la valeur d'une position vers la gauche.
- Un bit 0 est inséré à droite.
- Effet : Multiplication de la valeur par 2 à chaque déplacement.
4. Décalage vers la droite
- Chaque décalage vers la droite déplace tous les bits d'une position vers la droite.
- Le bit de signe est conservé : 0 pour les valeurs positives et 1 pour les valeurs négatives.
- Effet : Divisez la valeur par 2 à chaque décalage, avec arrondi à l'inférieur.
5. Décalage vers la droite Pas de signal (>>>)
- Aucune préservation des bits de signe ; insère 0 à gauche.
- Utilisé dans les modèles de bits où la valeur est traitée comme un nombre non signé.
6. Le déplacement n'est pas rotationnel
- Les bits décalés sont perdus.
- Le décalage ne permet pas la récupération des bits décalés.
Exemple :
Maj gauche et droite
*ShiftDémo *
Attention lors du déplacement d'octets et de valeurs courtes
- Java promeut automatiquement byte et short en int lors de l'évaluation d'une expression.
Exemple :
- Décalage d'une valeur d'octet négative vers la droite : lorsqu'ils sont promus en int, les bits d'ordre supérieur sont remplis par 1.
- Lors d'un déplacement vers la droite avec un remplissage de zéros (>>>), cela peut causer des problèmes car les 24 premiers bits seront 1 avant que les zéros ne commencent à apparaître.
Affectations abrégées avec des opérateurs au niveau du bit
- Tous les opérateurs binaires au niveau du bit ont une forme abrégée qui combine une affectation avec l'opération au niveau du bit.
Exemple
x = x ^ 127;
x ^= 127;
Copier après la connexion
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!