Movatterモバイル変換


[0]ホーム

URL:


  1. Web
  2. JavaScript
  3. Référence
  4. Expressions et opérateurs
  5. Décalage binaire à droite non-signé (>>>)

Cette page a été traduite à partir de l'anglais par la communauté.Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in EnglishAlways switch to English

Décalage binaire à droite non-signé (>>>)

Baseline Widely available

Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis ⁨juillet 2015⁩.

L'opérateur dedécalage binaire à droite non-signé (>>>) décale la séquence de bits formée par le premier opérande d'autant de bits vers la droite que la valeur indiquée par le second opérande. Les bits en excès à droite sont écartés et ce sont des zéros qui sont ajoutés à gauches. Le bit de signe devient alors nécessairement0 et le résultat est donc positif. À la différence des autres opérateurs binaires, cet opérateur renvoie un entier non-signé sur 32 bits.

Exemple interactif

const a = 5; //  00000000000000000000000000000101const b = 2; //  00000000000000000000000000000010const c = -5; //  11111111111111111111111111111011console.log(a >>> b); //  00000000000000000000000000000001// Expected output: 1console.log(c >>> b); //  00111111111111111111111111111110// Expected output: 1073741822

Syntaxe

js
a >>> b;

Description

Ce opérateur décale les bits du premier opérande vers la droite, selon la valeur du deuxième opérande. Les bits dépassant à droite sont éliminés tandis que des zéros sont ajoutés à gauche. Le bit de signe vaut alors0 et en conséquence le résultat est positif. La valeur fournie par cet opérateur, à la différence des autres opérateurs binaires, est une valeur entière sur 32 bits non-signée.

Pour les nombres positifts, le décalage binaire à droite et le décalage binaire à droite non-signés renverront le même résultat. Par exemple,9 >>> 2 renvoie 2, également renvoyé par9 >> 2:

js
        9 (base 10): 00000000000000000000000000001001 (base 2)                     --------------------------------  9 >>> 2 (base 10): 00000000000000000000000000000010 (base 2) = 2 (base 10)

Toutefois, ce n'est pas le cas pour les nombres négatifs :-9 >>> 2 renverra 1073741821, qui est différent de-9 >> 2 (qui renvoie-3) :

js
        -9 (base 10): 11111111111111111111111111110111 (base 2)                      --------------------------------  -9 >>> 2 (base 10): 00111111111111111111111111111101 (base 2) = 1073741821 (base 10)

Exemples

Utiliser le décalage à droite non-signé

js
9 >>> 2; // 2-9 >>> 2; // 1073741821

Spécifications

Specification
ECMAScript® 2026 Language Specification
# sec-unsigned-right-shift-operator

Compatibilité des navigateurs

Voir aussi

Help improve MDN

Learn how to contribute

Cette page a été modifiée le par lescontributeurs du MDN.


[8]ページ先頭

©2009-2025 Movatter.jp