Heim >Backend-Entwicklung >C#.Net-Tutorial >Bitweise Operatoren in C#
Bitweise Operatoren sind nichts anderes als die Operationen, die auf den Bitebenen ausgeführt werden, und C# ermöglicht eine Vielzahl bitweiser Operationen unter Verwendung der Operatoren AND, OR, NOT usw. Die Operatoren, die im Allgemeinen für bitweise Operationen verwendet werden, sind AND (&), was „true“ zurückgibt wenn beide Operanden wahr sind, ODER (|), das nur dann wahr zurückgibt, wenn die Operanden wahr sind, Exklusives ODER (XOR oder ^), das abhängig von der Eingabe ein vergleichbares Ergebnis zurückgibt, Linksverschiebung (<<), die zum Verschieben verwendet wird Bit nach links, Rechtsverschiebung (>>), mit der das Bit nach rechts verschoben wird, und Komplement (~), das für einen einzelnen Operanden verwendet wird und den Komplementbitwert basierend auf der Eingabe zurückgibt.
Im Folgenden sind verschiedene Arten von bitweisen Operatoren aufgeführt, die in C# definiert sind:
Im folgenden Artikel wird erläutert, wie bitweise Operatoren funktionieren. Nachfolgend finden Sie Beispiele für bitweise Operatoren in C#:
Bei Verwendung der UND-Verknüpfung wird nur dann „True“ ausgegeben, wenn beide Werte „True“ sind. Dieser Operator kann mit dem Operator „&“ implementiert werden.
Beispiel:
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); } }
Ausgabe:
Öffnen Sie den Texteditor und speichern Sie die Datei mit der Erweiterung .cs und dem Namen Ihrer Wahl. Führen Sie das Programm mit einem geeigneten C#-Compiler aus und Sie erhalten die folgende Ausgabe:
Bei Verwendung der OR-Methode wird nur FALSE ausgegeben, wenn beide Werte FALSE sind. In allen anderen Fällen ist die ODER-Verknüpfung wahr. Dieser Operator kann mithilfe des Operators „|“ implementiert werden.
Beispiel:
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); } }
Ausgabe:
Kompilieren Sie den obigen Code und führen Sie ihn aus. Sie erhalten die folgende Ausgabe:
Wenn die zugehörigen Bits eindeutig sind, ergibt dies 1, andernfalls 0. Dieser Operator kann mithilfe des „^“-Operators implementiert werden.
Beispiel:
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); } }
Ausgabe:
Kompilieren Sie den obigen Code und führen Sie ihn aus. Sie erhalten die folgende Ausgabe:
Wenn RightShift-Operationen mit einem Binärwert ausgeführt werden, werden die Bits an eine Stelle auf der rechten Seite verschoben. Dieser Operator kann mithilfe des Operators „>>“ implementiert werden.
Beispiel:
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); } }
Ausgabe:
Kompilieren Sie den obigen Code und führen Sie ihn aus. Sie erhalten die folgende Ausgabe:
Wenn LeftShift-Operationen mit einem Binärwert ausgeführt werden, werden die Bits an eine Stelle auf der linken Seite verschoben. Dieser Operator kann mithilfe des Operators „<<“ implementiert werden.
Beispiel:
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); } }
Ausgabe:
Kompilieren Sie den obigen Code und führen Sie ihn aus. Sie erhalten die folgende Ausgabe:
Der bitweise Komplementoperator wird durch „~“ angegeben, bei dem es sich um einen unären Operator handelt, der nur mit einem Operanden arbeitet. Der ~-Operator invertiert ein wenig, d. h. wechselt von 1 auf 0 und von 0 auf 1.
Beispiel:
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); } }
Ausgabe:
Kompilieren Sie den obigen Code und führen Sie ihn aus. Sie erhalten die folgende Ausgabe:
In diesem Artikel haben wir gesehen, wie bitweise Operatoren in C# verwendet werden können und welche Funktionalität sie haben. Diese Operatoren werden verwendet, um bitweise Operationen an Operanden, auch Binärzahlen genannt, durchzuführen. Der bitweise Operator analysiert die binäre Interpretation der Funktionen der beiden Eingaben Zelle für Zelle. Diese Operatoren werden hauptsächlich in Kommunikationsstapeln verwendet, in denen wichtige Informationen durch die einzelnen Bits im Header symbolisiert werden, die mit Daten verbunden sind.
Das obige ist der detaillierte Inhalt vonBitweise Operatoren in C#. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!