ホームページ >バックエンド開発 >C#.Net チュートリアル >C# のビット演算子とシフト演算子
ビット演算子はビットに作用し、ビットごとに演算を実行します。
C# は、次の表に示すようにビット単位の演算子をサポートしています。変数 A が 60、変数 B が 13 であるとします。 -
Operator | Description | 例 |
---|---|---|
ビットごとの AND 演算子は、ビットを結果にコピーします (if両方のオペランドに存在します)。 | ##(A & B) = 12、つまり 0000 1100 |
|
#ビットごとの OR 演算子は、どちらかのオペランドにビットが存在する場合、ビットをコピーします。 | #(A | B) = 61、つまり 0011 1101 | #^ |
#ビットごとの XOR 演算子は、一方のオペランドにビットが設定されているが両方には設定されていない場合にビットをコピーします。 | #(A ^ B) = 49、つまり 0011 0001 | #~ |
ビットごとの補数演算子は単項であり、ビットを「反転」する効果があります。 | (~A ) = 61。これは符号付き 2 進数なので、2 の補数 1100 0011 です。 | # |
ビット単位の左シフト演算子 左オペランドの値 左にシフト右オペランドで指定されたビット数で計算されます。 |
#A | ##>> |
左オペランドの値は、右オペランドで指定されたビット数だけ右にシフトされます。 | #A >> 2 = 15、つまり 0000 1111 | ##例 次の例は、C# でビット単位の演算子を実装する方法を示しています。 |
Line 1 - Value of c is 12 Line 2 - Value of c is 61 Line 3 - Value of c is 49 Line 4 - Value of c is -61 Line 5 - Value of c is 240 Line 6 - Value of c is 15h2>
以上がC# のビット演算子とシフト演算子の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。