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!

Tim Corey
5m 54s
Binäre Operationen in C# sind für den Umgang mit bitweisen Manipulationen unerlässlich, insbesondere bei der Arbeit mit Flags, Berechtigungen und Low-Level-Datenverarbeitung. Einer der grundlegenden binären Operatoren ist das OR (|) Operator. In seinem Video Binär in C#: The Binary OR Operator in 10 minutes or less erklärt Tim Corey die Funktionsweise des binären OR-Operators in C# und seine praktischen Anwendungen. Gehen wir seine Erklärungen Schritt für Schritt durch.
Tim beginnt das Video mit der Fortsetzung seiner Serie zum Verständnis von Binäroperationen in C#. Diese Lektion, die fünfte in der Reihe, konzentriert sich auf den Operator OR. Er richtet ein einfaches Szenario ein, in dem er zwei ganzzahlige Werte hat, Val1 und Val2, die im Binärformat dargestellt sind. Diese Werte werden auf der Konsole ausgedruckt, um eine klare visuelle Darstellung zu liefern, wie sie im Binärformat erscheinen.
An dieser Stelle erklärt Tim, was der Operator OR in einem Binärvergleich bewirkt. Er stellt klar, dass der OR-Operator jedes Bit von zwei Binärwerten an entsprechenden Positionen vergleicht. Wenn eines der Bits 1 ist, wird das Ergebnis an dieser Stelle 1 sein. Wenn beide Bits 0 sind, wird das Ergebnis 0 sein.
Um dies zu demonstrieren, geht er durch ein Beispiel, in dem er zwei Werte vergleicht:
Val1 = 1101 (binäre Darstellung)Val2 = 0010 (binäre Darstellung)Tim betont, dass an jeder Bitposition, wenn mindestens einer der Werte 1 hat, das resultierende Bit 1 sein wird. Andernfalls bleibt es 0.
Tim geht zum Schreiben des eigentlichen Codes über, um die ODER-Operation durchzuführen. Er weist das Ergebnis der ODER-Verknüpfung einer neuen Variablen zu, indem er die Single Pipe (|) Operator:
// 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' Define two binary values as integers
Dim Val1 As Integer = &B1101 ' Binary representation: 1101
Dim Val2 As Integer = &B0010 ' Binary representation: 0010
' Perform the bitwise OR operation
Dim result As Integer = Val1 Or Val2
' Print the result to the console
Console.WriteLine(Convert.ToString(result, toBase:=2)) ' Output: 1111 in binary0b Präfix definiert, das die direkte binäre Eingabe in C# erleichtert.result Variable gespeichert.Convert.ToString(result, toBase: 2) wandelt das ganzzahlige Ergebnis in eine Zeichenkette um, die sein Binärformat darstellt, damit es angezeigt werden kann.Tim macht hier einen wichtigen Unterschied: In logischen Ausdrücken innerhalb von if Anweisungen verwenden wir || for logical OR, whereas in bitwise operations, we use a single | auf einzelnen Bits zu arbeiten.
Nach der Ausführung der ODER-Verknüpfung gibt Tim das Ergebnis auf der Konsole aus. Die Ausgabe demonstriert, wie OR auf Bitebene funktioniert:
Jedes Bit im Ergebnis folgt der Regel: Wenn entweder Val1 oder Val2 ein 1 hat, ist das Ergebnis 1. So lässt sich anschaulich darstellen, wie OR zwei Binärzahlen kombiniert.
Um das Konzept zu verstärken, ändert Tim Val2, um zu sehen, wie der OR-Operator auf verschiedene Eingaben reagiert. Er ändert Val2 zu 1010 und führt die Operation erneut aus. Das Ergebnis muss mit der OR-Logik übereinstimmen:
Tim weist darauf hin, dass, solange mindestens eine der Zahlen ein 1 an einer bestimmten Position hat, auch das Ergebnis an dieser Position 1 sein wird.
Tim geht kurz auf den Unterschied zwischen logischem ODER (||) and bitwise OR (|. Das logische ODER wird für boolesche Bedingungen verwendet, wie z. B.:
// Example of logical OR in a conditional statement
if (condition1 || condition2)
{
// Execute if either condition1 or condition2 is true
}' Example of logical OR in a conditional statement
If condition1 OrElse condition2 Then
' Execute if either condition1 or condition2 is true
End IfBitweises ODER hingegen wird für binäre Operationen auf Bitebene verwendet, wie in dieser Lektion gezeigt.
Abschließend geht Tim auf einige praktische Szenarien ein, in denen bitweises ODER nützlich ist. Einer der häufigsten Anwendungsfälle ist die Arbeit mit flag-basierten Einstellungen. Wenn Sie zum Beispiel verschiedene Berechtigungsflags als Binärwerte gespeichert haben, können Sie diese mit OR effizient kombinieren.
Zum Beispiel in einem flaggenbasierten System:
READ_PERMISSION = 0001WRITE_PERMISSION = 0010EXECUTE_PERMISSION = 0100Wenn ein Benutzer sowohl Lese- als auch Schreibrechte benötigt, können wir diese mit OR kombinieren:
// 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' Define permission flags as constants
Const READ_PERMISSION As Integer = &B0001
Const WRITE_PERMISSION As Integer = &B0010
' Combine read and write permissions using bitwise OR
Dim userPermissions As Integer = READ_PERMISSION Or WRITE_PERMISSION ' Result: 0011
' Print the user permissions in binary
Console.WriteLine(Convert.ToString(userPermissions, toBase:=2)) ' Output: 0011Tim hebt hervor, dass OR besonders nützlich ist, wenn es darum geht, solche Flag-Kombinationen zu handhaben, ohne bestehende Werte zu verändern.
Am Ende des Videos fasst Tim die wichtigsten Punkte zusammen:
|) vergleicht die entsprechenden Bits in zwei Zahlen.1 ist, ist das Ergebnis 1.||), das für boolesche Ausdrücke verwendet wird.Anhand von Tims Erklärungen und Beispielen können wir ein solides Verständnis dafür gewinnen, wie der binäre OR-Operator in C# funktioniert und wo er effektiv eingesetzt werden kann.
Do you create content for developers working with .NET, C#, Java, Python, or Node.js? Turn your expertise into extra income!
Join our newsletter, you’ll get exclusive access on article updates. We value your privacy