Maison > interface Web > js tutoriel > Comment fonctionne l'opérateur Bitwise OR \'|\' en JavaScript ?

Comment fonctionne l'opérateur Bitwise OR \'|\' en JavaScript ?

Susan Sarandon
Libérer: 2024-10-29 03:58:29
original
777 Les gens l'ont consulté

How Does the Bitwise OR Operator

Opérations au niveau du bit en JavaScript : dévoiler le mystère de l'opérateur monotube ("|")

Le monotube ("|") L'opérateur en JavaScript effectue des opérations au niveau du bit ou, qui sont essentielles pour manipuler des bits individuels dans les représentations binaires. Contrairement aux opérateurs logiques comme ||, qui effectuent des opérations sur des valeurs booléennes, les opérateurs au niveau du bit fonctionnent directement sur la représentation binaire des entiers.

Plus précisément, l'opérateur au niveau du bit ou "|" calcule la disjonction logique de ses deux opérandes entiers. Cela signifie que pour chaque position de bit dans les représentations binaires des opérandes, si au moins un bit est 1, le bit résultat est 1.

a | b = (a_n OR b_n) FOR ALL n
Copier après la connexion

Cependant, comme les opérations au niveau du bit n'ont de sens que sur des entiers, JavaScript tronque les valeurs non entières en entiers avant d'effectuer l'opération. Cela peut conduire à des résultats inattendus, comme le démontrent les exemples fournis :

console.log(0.5 | 0); // 0
console.log(-1 | 0); // -1
console.log(1 | 0); // 1
Copier après la connexion

Dans le premier exemple, 0,5 est tronqué à 0 avant d'effectuer l'opération au niveau du bit ou avec 0. Puisque les deux opérandes sont 0, le résultat is 0.

In the second example, -1 (in binary representation: 11111111111111111111111111111111) remains unchanged when performing the bitwise or operation with 0 (in binary representation: 00000000000000000000000000000000), resulting in -1.

Dans le dernier exemple, 1 (en représentation binaire : 00000000000000000000000000000001) reste à nouveau inchangé, ce qui donne 1.

Par conséquent, pour les entiers, x | 0 renvoie simplement x.

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