Maison > Java > javaDidacticiel > Opérateurs de décalage et affectations abrégées au niveau du bit

Opérateurs de décalage et affectations abrégées au niveau du bit

王林
Libérer: 2024-08-17 18:48:32
original
448 Les gens l'ont consulté

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

Os operadores de deslocamento e atribuições abreviadas bitwise

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal