Maison > Article > développement back-end > Opérateurs au niveau du bit en C#
Les opérateurs au niveau du bit ne sont rien d'autre que les opérations effectuées au niveau des bits, et C# permet une variété d'opérations au niveau du bit en utilisant les opérateurs AND, OR, NOT, etc. Les opérateurs généralement utilisés pour les opérations au niveau du bit sont AND (&) qui renvoie vrai lorsque les deux opérandes sont vrais, OU (|) qui renvoie vrai uniquement lorsque les opérandes sont vrais, OU exclusif (XOR ou ^) qui renvoie un résultat comparable en fonction de l'entrée, Maj gauche (<<) qui permet de déplacer le bit vers la gauche, Right Shift (>>) qui est utilisé pour déplacer le bit vers la droite et Complément (~) qui est utilisé sur un seul opérande et renvoie la valeur du bit complémentaire en fonction de l'entrée.
Voici différents types d'opérateurs au niveau du bit définis en C# :
L'article suivant explique le fonctionnement des opérateurs au niveau du bit. Vous trouverez ci-dessous les exemples d'opérateurs au niveau du bit en C# :
Il ne donne True que lors de l'utilisation de l'opération AND si les deux valeurs sont True. Cet opérateur peut être implémenté en utilisant l'opérateur '&'.
Exemple :
using System; using System.Collections.Generic; using System.Linq; public class Program { public static void Main() { byte myvarA = 10;// This binary is equivalent for 10 is 01010 byte myvarB = 20;// This binary is equivalent for 20 is 10100 long myresult = myvarA & myvarB; // The result of AND operation result is: 00000 Console.WriteLine("{0} AND {1} result is :{2}",myvarA,myvarB,myresult); myvarA = 10;// This binary is equivalent for 10 is 01010 myvarB = 10;// This binary is equivalent for 10 is 01010 myresult = myvarA & myvarB; // The result of AND operation result is: 01010 Console.WriteLine("{0} AND {1} result is : {2}",myvarA,myvarB,myresult); } }
Sortie :
Ouvrez l'éditeur de texte et enregistrez le fichier avec l'extension .cs avec le nom de votre choix. Exécutez le programme en utilisant le compilateur C# approprié et vous obtiendrez le résultat ci-dessous :
Il ne fournit FALSE lors de l'utilisation de la méthode OR que si les deux valeurs sont FALSE. L’opération OU est vraie dans tous les autres cas. Cet opérateur peut être implémenté en utilisant l'opérateur '|'.
Exemple :
using System; using System.Collections.Generic; using System.Linq; public class Program { public static void Main() { byte myvarA = 10;// This binary is equivalent for 10 is 01010 byte myvarB = 20;// This binary is equivalent for 20 is 10100 long myresult = myvarA | myvarB; // The result of OR operation result is: 11110 Console.WriteLine("{0} OR {1} result is :{2}",myvarA,myvarB,myresult); myvarA = 10;// This binary is equivalent for 10 is 01010 myvarB = 10;// This binary is equivalent for 10 is 01010 myresult = myvarA | myvarB; // The result of OR operation result is: 01010 Console.WriteLine("{0} OR {1} result is : {2}",myvarA,myvarB,myresult); } }
Sortie :
Compilez et exécutez le code ci-dessus, vous obtiendrez le résultat suivant :
Si les bits associés sont uniques, alors cela donne 1, sinon 0. Cet opérateur peut être implémenté en utilisant l'opérateur '^'.
Exemple :
using System; using System.Collections.Generic; using System.Linq; public class Program { public static void Main() { int num1 = 14, num2 = 11, myresult; myresult = num1^num2; Console.WriteLine("{0} ^ {1} = {2}", num1, num2, myresult); } }
Sortie :
Compilez et exécutez le code ci-dessus, vous obtiendrez le résultat suivant :
Si les opérations RightShift sont effectuées avec une valeur binaire, les bits seront décalés vers un emplacement sur le côté droit. Cet opérateur peut être implémenté en utilisant l'opérateur '>>.
Exemple :
using System; using System.Collections.Generic; using System.Linq; public class Program { public static void Main() { byte myvarA = 10;// This binary is equivalent for 10 is 01010 long myresult = myvarA >> 1; // The right shift operation result is : 0101 Console.WriteLine("{0} is right shifted to 1 position result is:{1}",myvarA,myresult); } }
Sortie :
Compilez et exécutez le code ci-dessus, vous obtiendrez le résultat suivant :
Si les opérations LeftShift sont effectuées avec une valeur binaire, les bits seront décalés vers un emplacement sur le côté gauche. Cet opérateur peut être implémenté en utilisant l'opérateur '<<'.
Exemple :
using System; using System.Collections.Generic; using System.Linq; public class Program { public static void Main() { byte myvarA = 10;// This binary is equivalent for 10 is 01010 long myresult = myvarA << 1; // The left shift operation result is : 10100 Console.WriteLine("{0} is left shifted to 1 position result is:{1}",myvarA,myresult); } }
Sortie :
Compilez et exécutez le code ci-dessus, vous obtiendrez le résultat suivant :
L'opérateur de complément au niveau du bit est spécifié par le « ~ » qui est un opérateur unaire qui opère sur un seul opérande. L'opérateur ~ s'inverse un peu, c'est-à-dire passe de 1 à 0 et de 0 à 1.
Exemple :
using System; using System.Collections.Generic; using System.Linq; public class Program { public static void Main() { int num = 22, num_result; num_result = ~num; Console.WriteLine("~{0} = {1}", num, num_result); } }
Sortie :
Compilez et exécutez le code ci-dessus, vous obtiendrez le résultat suivant :
Dans cet article, nous avons vu comment les opérateurs au niveau du bit peuvent être utilisés en C# ainsi que leurs fonctionnalités. Ces opérateurs sont utilisés pour effectuer des opérations bit par bit sur des opérandes, également appelés chiffres binaires. L'opérateur au niveau du bit analyse l'interprétation binaire des fonctions des deux entrées cellule par cellule. Ces opérateurs sont principalement utilisés dans les piles de communication dans lesquelles les informations vitales sont symbolisées par les bits individuels de l'en-tête connectés aux données.
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!