Maison  >  Article  >  Java  >  Opérateurs bit à bit et booléens : quelle est la différence entre `&` et `&&` et `|` et `||` ?

Opérateurs bit à bit et booléens : quelle est la différence entre `&` et `&&` et `|` et `||` ?

DDD
DDDoriginal
2024-11-18 07:22:02386parcourir

Bitwise vs. Boolean Operators: What's the Difference Between `&` vs. `&&` and `|` vs. `||`?

Comprendre les opérateurs bit à bit et booléens : & contre && et | vs ||

En programmation, les symboles & et | représentent les opérateurs au niveau du bit, tandis que && et || représentent des opérateurs logiques booléens. Bien que ceux-ci semblent similaires, il existe des différences cruciales dans leur fonctionnement.

Opérateurs au niveau du bit : && et |

Les opérateurs au niveau du bit effectuent des opérations sur des bits individuels dans les nombres binaires. Par exemple :

int a = 6; // Binary: 110
int b = 4; // Binary: 100

int c = a & b; // Bitwise AND
int d = a | b; // Bitwise OR

Dans ce cas, les valeurs obtenues sont :

  • c = 4 (binaire : 100)
  • d = 6 (binaire : 110)

Lors de l'exécution d'un ET au niveau du bit, chaque position de bit dans les opérandes est comparée. Si les deux bits correspondants sont à 1, le bit de résultat dans la position correspondante est à 1 ; sinon, il vaut 0. Inversement, dans un OU bit à bit, le bit résultat est 1 si au moins un bit correspondant dans les opérandes est 1 ; sinon, c'est 0.

Opérateurs logiques booléens : && et ||

Les opérateurs logiques booléens fonctionnent avec des valeurs booléennes (vrai ou faux). Ils suivent des règles similaires à celles des opérateurs au niveau du bit, mais :

  • && (AND) renvoie vrai uniquement si les deux opérandes sont vrais.
  • || (OR) renvoie vrai si au moins un opérande est vrai.

Contrairement aux opérateurs au niveau du bit, les opérateurs logiques booléens court-circuitent, ce qui signifie qu'ils n'évaluent pas tous les opérandes si le résultat peut être déterminé plus tôt. Cela empêche la génération d'exceptions lors de l'évaluation de valeurs nulles.

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!

Déclaration:
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