| [ Web Proxy ] |
| Viewing: https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Operators/Unsigned_right_shift | [Back] [Original] |
Get to know MDN better
Cette page a t traduite partir de l'anglais par la communaut. Vous pouvez contribuer en rejoignant la communaut francophone sur MDN Web Docs.
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'oprateur de dcalage binaire droite non-sign (>>>) dcale la squence de bits forme par le premier oprande d'autant de bits vers la droite que la valeur indique par le second oprande. Les bits en excs droite sont carts et ce sont des zros qui sont ajouts gauches. Le bit de signe devient alors ncessairement 0 et le rsultat est donc positif. la diffrence des autres oprateurs binaires, cet oprateur renvoie un entier non-sign sur 32 bits.
const a = 5; // 00000000000000000000000000000101
const b = 2; // 00000000000000000000000000000010
const c = -5; // 11111111111111111111111111111011
console.log(a >>> b); // 00000000000000000000000000000001
// Expected output: 1
console.log(c >>> b); // 00111111111111111111111111111110
// Expected output: 1073741822
a >>> b;
Ce oprateur dcale les bits du premier oprande vers la droite, selon la valeur du deuxime oprande. Les bits dpassant droite sont limins tandis que des zros sont ajouts gauche. Le bit de signe vaut alors 0 et en consquence le rsultat est positif. La valeur fournie par cet oprateur, la diffrence des autres oprateurs binaires, est une valeur entire sur 32 bits non-signe.
Pour les nombres positifts, le dcalage binaire droite et le dcalage binaire droite non-signs renverront le mme rsultat. Par exemple, 9 >>> 2 renvoie 2, galement renvoy par 9 >> 2:
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 ngatifs : -9 >>> 2 renverra 1073741821, qui est diffrent de -9 >> 2 (qui renvoie -3) :
-9 (base 10): 11111111111111111111111111110111 (base 2)
--------------------------------
-9 >>> 2 (base 10): 00111111111111111111111111111101 (base 2) = 1073741821 (base 10)
9 >>> 2; // 2
-9 >>> 2; // 1073741821
| Spcification |
|---|
| ECMAScript 2027 LanguageSpecification # sec-unsigned-right-shift-operator |
Cette page a t modifie le 7 sept. 2026 par les contributeurices du MDN.
Certaines parties de ce contenu sont protges par le droit d'auteur 19982026 des contributeurs individuels de mozilla.org. Contenu disponible sous une licence Creative Commons.
| Web Proxy Viewer | New URL | Original Page |