Heim >Backend-Entwicklung >C#.Net-Tutorial >Bitweise Operatoren in C#

Bitweise Operatoren in C#

WBOY
WBOYOriginal
2024-09-03 15:08:43813Durchsuche

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.

Typen von bitweisen Operatoren in C#

Im Folgenden sind verschiedene Arten von bitweisen Operatoren aufgeführt, die in C# definiert sind:

  • Bitweises UND (&): Jedes Bit des ersten Operanden ist mit dem seines zweiten Operanden verknüpft. Wenn beide Bits 1 sind, ist das Ergebnisbit 1, wenn nicht 0.
  • Bitweises ODER(|): Jedes Bit des ersten Operanden ist mit dem seines zweiten Operanden verknüpft. Wenn eines der Bits 1 ist, ist das Ergebnisbit 1, wenn nicht 0.
  • Bitweises Exklusiv-ODER (XOR – ^): Jedes Bit des ersten Operanden ist mit dem nachfolgenden Bit seines zweiten Operanden vergleichbar. Wenn ein Bit 0 und das andere 1 ist, ist das Ergebnisbit 1, andernfalls ist das Ergebnisbit 0.
  • Bitweise Linksverschiebung (<<): Bewegt die Zahl nach links, abhängig von der Anzahl der definierten Bits. Die Nullen werden an die kleinsten Bits angehängt.
  • Bitweise Rechtsverschiebung (>>): Bewegt die Zahl nach rechts, abhängig von der Anzahl der definierten Bits. Die Nullen werden an die kleinsten Bits angehängt.
  • Bitweises Komplement (~): Der bitweise Komplementoperator ist ein unärer Operator, der nur mit einem Operanden arbeitet. Der ~-Operator wechselt von 1 auf 0 und von 0 auf 1.

Beispiele für bitweise Operatoren in C#

Im folgenden Artikel wird erläutert, wie bitweise Operatoren funktionieren. Nachfolgend finden Sie Beispiele für bitweise Operatoren in C#:

1. Bitweises UND

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:

Bitweise Operatoren in C#

2. Bitweises ODER

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:

Bitweise Operatoren in C#

3. Bitweises EXOR

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:

Bitweise Operatoren in C#

4. Bitweise Rechtsverschiebung

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:

Bitweise Operatoren in C#

5. Bitweise Linksverschiebung

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:

Bitweise Operatoren in C#

6. Bitweises Komplement

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:

Bitweise Operatoren in C#

Fazit

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Bedingungsoperatoren in C#Nächster Artikel:Bedingungsoperatoren in C#