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
5 分 54 秒
C#のバイナリ操作は、ビット単位の操作、特にフラグ、パーミッション、低レベルのデータ処理を扱う際に不可欠です。 基本的な二項演算子のひとつに、OR (`) があります。|演算子 彼のビデオ Binary in C#:10分以内でわかる二項論理和演算子では、ティム・コーリーがC#で二項論理和演算子がどのように機能するのか、そしてその実用的な応用例を説明しています。 それでは、彼の説明を順を追って見ていきましょう。
ティムは、C#のバイナリ演算を理解するシリーズの続きからビデオを始めます。 シリーズ5回目となるこのレッスンでは、OR演算子に焦点を当てます。 彼は基本的なシナリオを設定し、2つの整数値であるVal2が2進数形式で表現されています。 これらの値は、バイナリでどのように表示されるかを明確に視覚的に表現するために、コンソールに表示されます。
この時点で、ティムはバイナリ比較でOR演算子が何をするのかを説明します。 彼は、OR演算子が対応する位置にある2つのバイナリ値の各ビットを比較することを明確にしています。 どちらかのビットが1になります。 両方のビットが0になります。
これを実証するために、彼は2つの値を比較する例を説明します:
Val1 = 1101 (2進数表示)Val2 = 0010 (2進数表示)ティムは、それぞれのビット位置で、少なくともどちらかの値が1になることを強調します。 それ以外の場合は0のままです。
ティムは、OR演算を実行する実際のコードを書くことに移る。 彼は、OR 演算の結果をシングルパイプを使って新しい変数に代入する (`)|演算子
// 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プレフィックスを使用して定義されています。result変数に格納されます。Convert.ToString(result, toBase: 2)は整数の結果を、その2進数形式を表す文字列に変換し、表示できるようにします。ティムは重要な違いを指摘します: ifステートメント内の論理式では、|| for logical OR, whereas in bitwise operations, we use a single |個々のビットで動作するように。
OR 演算を実行した後、Tim は結果をコンソールに表示します。 出力は、ORがビットレベルでどのように機能するかを示します:
1101|0010 = 1111結果の各ビットは次のルールに従います: 1になります。 これは、ORがどのように2進数を結合するかを明確に視覚化したものです。
コンセプトを強化するために、ティムはVal2を変更してOR演算子が異なる入力にどのように反応するかを観察します。 彼は1010に変更し、再度操作を実行します。 その結果、ORロジックとの一貫性が保たれます:
1101|1010 = 1111ティムは、指定された位置で少なくとも1つの数が1になることを指摘します。
ティムは、論理和()と論理積()の違いについて簡単に説明します。||) and bitwise OR (|`)。 論理 OR は、次のようなブール条件に使用されます:
// 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 If一方、Bitwise ORは、このレッスンで見たように、ビットレベルでの2進演算に使用されます。
Timは最後に、ビット単位のORが役立つ実用的なシナリオについて説明します。 一般的な使用例の1つに、フラグベースの設定があります。 例えば、異なる許可フラグがバイナリ値として格納されている場合、ORを使用してそれらを効率的に組み合わせることができます。
例えば、フラグベースのシステムでは
READ_PERMISSION = 0001WRITE_PERMISSION = 0010EXECUTE_PERMISSION = 0100ユーザーが読み取りと書き込みの両方のパーミッションを必要とする場合、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' 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は、既存の値に影響を与えることなく、このようなフラグの組み合わせを処理する際に、ORが特に有用であることを強調しています。
動画が終わると、ティムは重要なポイントをまとめます:
1です。Timの説明と例に従うことで、C#で二項OR演算子がどのように機能し、どこで効果的に適用できるかをしっかりと理解することができます。
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