"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Quel est le but de l’opérateur Pipe Equal (=) en programmation ?

Quel est le but de l’opérateur Pipe Equal (=) en programmation ?

Publié le 2024-11-07
Parcourir:306

What is the Purpose of the Pipe Equal (=) Operator in Programming?

Qu'est-ce que l'opérateur Pipe Equal (=) ?

Développeurs qui ont rencontré l'opérateur Pipe Equal (|=) en open source le code de la bibliothèque peut s'interroger sur sa signification. Cet opérateur, souvent confondu avec une affectation logique, contient une opération OU au niveau du bit significative.

Comprendre l'OR au niveau du bit

L'opérateur pipe égal |= fonctionne de la même manière que =. Dans le code ci-dessous, l'opérateur |= combine la valeur d'origine des valeurs par défaut avec la constante DEFAULT_SOUND :

notification.defaults |= Notification.DEFAULT_SOUND;

Cette opération est équivalente à :

notification.defaults = notification.defaults | Notification.DEFAULT_SOUND;

où | désigne l'opérateur OU au niveau du bit.

OU au niveau du bit dans les masques de constantes

Dans l'exemple fourni, les constantes DEFAULT_SOUND, DEFAULT_VIBRATE et DEFAULT_LIGHTS sont des puissances de deux :

DEFAULT_SOUND = 1
DEFAULT_VIBRATE = 2 (1 

Cela permet l'utilisation du OU au niveau du bit pour ajouter ou supprimer des indicateurs. Par exemple :

int myFlags = DEFAULT_SOUND | DEFAULT_VIBRATE; // 001 | 010 = 011

Ajout d'un autre indicateur :

myFlags |= DEFAULT_LIGHTS;

ajoute simplement un nouvel indicateur.

Test de la présence d'un indicateur

L'opérateur ET au niveau du bit (&) teste la présence d'un indicateur :

boolean hasVibrate = (DEFAULT_VIBRATE & myFlags) != 0;

Si le résultat est différent de zéro, l'indicateur est défini.

Déclaration de sortie Cet article est reproduit le: 1729671437 S'il y a une contrefaçon, veuillez contacter [email protected] pour le supprimer.
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3