IRONSOFTWAREHOME

Comprendre l'opérateur binaire OR en C#

Le binaire en C# : l'opérateur OU binaire en 10 minutes ou moins.

Tim Corey

5m 54s

Les opérations binaires en C# sont essentielles pour effectuer des manipulations bit à bit, notamment lorsqu'on travaille avec des drapeaux, des permissions et des traitements de données de bas niveau. L'un des opérateurs binaires fondamentaux est le OU (|) Dans sa vidéo Binaire en C# : L'opérateur binaire OR en 10 minutes ou moins, Tim Corey décompose le fonctionnement de l'opérateur binaire OR en C# et ses applications pratiques. Passons en revue ses explications étape par étape.

Introduction à l'opérateur binaire OR

Tim commence la vidéo en poursuivant sa série sur la compréhension des opérations binaires en C#. Cette leçon, la cinquième de la série, est consacrée à l'opérateur OR. Il configure un scénario de base où il a deux valeurs entières, Val1 et Val2, représentées en format binaire. Ces valeurs sont imprimées sur la console afin de fournir une représentation visuelle claire de la manière dont elles apparaissent en binaire.

Compréhension de l'opération OR bitwise

À ce stade, Tim explique ce que fait l'opérateur OR dans une comparaison binaire. Il précise que l'opérateur OR compare chaque bit de deux valeurs binaires à des positions correspondantes. Si l'un des bits est 1, le résultat à cette position sera 1. Si les deux bits sont 0, le résultat sera 0.

Pour le démontrer, il donne un exemple comparant deux valeurs :

  • Val1 = 1101 (représentation binaire)
  • Val2 = 0010 (représentation binaire)

Tim souligne qu'à chaque position de bit, si au moins l'une des valeurs a 1, le bit résultant sera 1. Sinon, il reste 0.

Implementing OR in C#

Tim passe à l'écriture du code réel pour effectuer l'opération OR. Il affecte le résultat de l'opération OR à une nouvelle variable en utilisant le single pipe (|) :

// Define two binary values as integers
int Val1 = 0b1101; // Binary representation: 1101
int Val2 = 0b0010; // Binary representation: 0010

// Perform the bitwise OR operation
int result = Val1 | Val2;

// Print the result to the console
Console.WriteLine(Convert.ToString(result, toBase: 2)); // Output: 1111 in binary

Explication

  • Les valeurs binaires sont définies en utilisant un préfixe 0b qui facilite l'entrée binaire directe en C#.
  • Le résultat de l'opération OR bit à bit est stocké dans la variable result.
  • Le Convert.ToString(result, toBase: 2) convertit le résultat entier en une chaîne représentant son format binaire, afin qu'il puisse être affiché.

Tim fait une distinction importante ici : dans les expressions logiques à l'intérieur des instructions if, nous utilisons || for logical OR, whereas in bitwise operations, we use a single | pour opérer sur des bits individuels.

Comprendre le résultat

Après avoir effectué l'opération OR, Tim imprime le résultat sur la console. Le résultat démontre comment OR fonctionne au niveau des bits :

  • `1101| 0010 = 1111

Chaque bit dans le résultat suit la règle : si l'un ou l'autre Val1 ou Val2 a un 1, le résultat est 1. Cela permet de visualiser clairement comment OR combine deux nombres binaires.

Modification des valeurs d'entrée

Pour renforcer le concept, Tim modifie Val2 pour voir comment l'opérateur OR réagit à différentes entrées. Il change Val2 en 1010 et exécute à nouveau l'opération. Le résultat doit rester cohérent avec la logique du bloc opératoire :

  • `1101| 1010 = 1111

Tim souligne que tant que l'un des nombres a un 1 à une position donnée, le résultat à cette position sera également 1.

Or logique vs OR bitwise

Tim revient brièvement sur la différence entre le OU logique (||) and bitwise OR (|) Le OU logique est utilisé pour les conditions booléennes, telles que :

// Example of logical OR in a conditional statement
if (condition1 || condition2) 
{
    // Execute if either condition1 or condition2 is true
}

Le OU binaire, quant à lui, est utilisé pour les opérations binaires au niveau du bit, comme nous l'avons vu dans cette leçon.

Applications pratiques de Bitwise OR (en anglais)

Tim conclut en discutant de quelques scénarios pratiques dans lesquels le bitwise OR est utile. L'un des cas d'utilisation courants est le travail avec des paramètres basés sur des drapeaux. Par exemple, si vous avez différents drapeaux de permission stockés sous forme de valeurs binaires, OR peut être utilisé pour les combiner efficacement.

Par exemple, dans un système basé sur les drapeaux :

  • READ_PERMISSION = 0001
  • WRITE_PERMISSION = 0010
  • EXECUTE_PERMISSION = 0100

Si un utilisateur a besoin de permissions de lecture et d'écriture, nous pouvons les combiner en utilisant OR :

// Define permission flags as constants
const int READ_PERMISSION = 0b0001;
const int WRITE_PERMISSION = 0b0010;

// Combine read and write permissions using bitwise OR
int userPermissions = READ_PERMISSION | WRITE_PERMISSION; // Result: 0011

// Print the user permissions in binary
Console.WriteLine(Convert.ToString(userPermissions, toBase: 2)); // Output: 0011

Tim souligne que OR est particulièrement utile pour gérer de telles combinaisons de drapeaux sans affecter les valeurs existantes.

Conclusion

Alors que la vidéo se termine, Tim résume les points clés :

  • Le OU binaire (|) compare les bits correspondants dans deux nombres.
  • Si l'un des bits est 1, le résultat est 1.
  • Cet opérateur est couramment utilisé pour combiner efficacement des drapeaux et des paramètres.
  • Il diffère du OU logique (||), qui est utilisé pour les expressions booléennes.

En suivant les explications et les exemples de Tim, nous pouvons acquérir une solide compréhension du fonctionnement de l'opérateur OR binaire dans C# et des endroits où il peut être appliqué efficacement.

Earn More by Sharing What You Love

Do you create content for developers working with .NET, C#, Java, Python, or Node.js? Turn your expertise into extra income!

Let's Stay in Touch!

Join our newsletter, you’ll get exclusive access on article updates. We value your privacy

Key in blue circle

Obtenez votre clé d'essai de 30 jours instantanément.

Your trial license will be sent to your email address

Aucune restriction. 100 % débloqué. Pas de carte bancaire.

OR
bullet_checkedAucune carte de crédit ou création de compte requiseAucune restriction. 100 % débloqué. Pas de carte bancaire.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried Iron Suite
Obtenez Votre Consultation sans Engagement
Remplissez le formulaire ci-dessous ou envoyez un email à sales@ironsoftware.com
Vos informations seront toujours gardées confidentielles.
De confiance par des millions d'ingénieurs dans le monde entier
Logos des clients d'Iron Software
Obtenez votre clé d'essai 30 jours gratuitement.
Aucune carte de crédit ou création de compte requise