C# のビット演算子とシフト演算子

WBOY
リリース: 2023-09-01 23:49:02
転載
945 人が閲覧しました

C# 按位和移位运算符

ビット演算子はビットに作用し、ビットごとに演算を実行します。

C# は、次の表に示すようにビット単位の演算子をサポートしています。変数 A が 60、変数 B が 13 であるとします。 -

##&ビットごとの AND 演算子は、ビットを結果にコピーします (if両方のオペランドに存在します)。 #|#^#~ビット単位右シフト演算子ライブデモ
using System;
namespace MyApplication {
   class Program {
      static void Main(string[] args) {
         int a = 60; /* 60 = 0011 1100 */
         int b = 13; /* 13 = 0000 1101 */
         int c = 0;
         // Bitwise AND Operator
         c = a & b; /* 12 = 0000 1100 */
         Console.WriteLine("Line 1 - Value of c is {0}", c );
         // Bitwise OR Operator
         c = a | b; /* 61 = 0011 1101 */
         Console.WriteLine("Line 2 - Value of c is {0}", c);
         // Bitwise XOR Operator
         c = a ^ b; /* 49 = 0011 0001 */
         Console.WriteLine("Line 3 - Value of c is {0}", c);
         // Bitwise Complement Operator
         c = ~a; /*-61 = 1100 0011 */
         Console.WriteLine("Line 4 - Value of c is {0}", c);
         // Bitwise Left Shift Operator
         c = a << 2; /* 240 = 1111 0000 */
         Console.WriteLine("Line 5 - Value of c is {0}", c);
         // Bitwise Right Shift Operator
         c = a >> 2; /* 15 = 0000 1111 */
         Console.WriteLine("Line 6 - Value of c is {0}", c);
         Console.ReadLine();
      }
   }
}
ログイン後にコピー
Operator

Description

##(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 15
ログイン後にコピー
h2>

以上がC# のビット演算子とシフト演算子の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:tutorialspoint.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!