Maison > interface Web > js tutoriel > Comment fonctionne l'opérateur Zero-Fill Right Shift de JavaScript (>>>) ?

Comment fonctionne l'opérateur Zero-Fill Right Shift de JavaScript (>>>) ?

Mary-Kate Olsen
Libérer: 2024-12-03 17:59:10
original
390 Les gens l'ont consulté

How Does JavaScript's Zero-Fill Right Shift Operator (>>>) Du travail ?
>) Vous travaillez ? " />

Plongée dans le mystérieux opérateur JavaScript : >>>

L'opérateur JavaScript >>>, connu sous le nom de droit de remplissage à zéro L'opérateur de décalage à droite effectue un calcul au niveau du bit sur ses opérandes. Contrairement à l'opérateur de décalage à droite standard (>>), >>> convertit les opérandes en entiers non signés de 32 bits avant le décalage, garantissant que le résultat reste dans la plage d'entiers non signés.

Conversion en entiers non signés de 32 bits

L'opérateur >>> est particulièrement utile lorsqu'il s'agit d'index de tableau en JavaScript. ECMAScript définit les index de tableau comme des entiers non signés de 32 bits. Pour garantir la compatibilité avec cette spécification, l'utilisation de >>> convertit l'opérande en un entier non signé.

Exemple :.

var arr = [0, 1, 2, 3];
var index = -1 >>> 0; // Converts -1 to 4294967295 (unsigned integer representation)
console.log(arr[index]); // Logs 0 (the first element of the array)
Copier après la connexion

Conversion de Les non-nombres

aident également à convertir les non-nombres en entiers non signés de 32 bits. Lorsqu'il s'agit de valeurs qui ne sont pas des nombres, telles que des chaînes, l'opérateur les traite efficacement comme. zéro.

Exemple :

var str = "hello";
var num = str >>> 0; // Converts "hello" to 0
console.log(num); // Logs 0
Copier après la connexion

Entiers non signés et négatifs

Le triple > ;>> L'opérateur interprète les nombres négatifs comme leur complément entier non signé de 32 bits. Ceci est utile pour travailler avec des entiers signés dans la plage d'entiers non signés.

Exemple :

var negative = -1;
var unsigned = negative >>> 0; // Converts -1 to 4294967295
console.log(unsigned); // Logs 4294967295
Copier après la connexion

Tableau récapitulatif

Operand Type >>> Operator Conversion
Number Preserves value as a 32-bit unsigned integer
Non-Number Converts to 0 (unsigned integer)
Negative Number Converted to its unsigned 32-bit integer complement

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!

source:php.cn
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal