বিটওয়াইজ অপারেটর বিটগুলিতে কাজ করে এবং বিট বাই বিট অপারেশন করে।
নিম্নলিখিতগুলি বিটওয়াইজ অপারেটর৷
৷অপারেটর | বিবরণ | উদাহরণ |
---|---|---|
& | বাইনারি এবং অপারেটর ফলাফলে কিছুটা অনুলিপি করে যদি এটি উভয় অপারেন্ডে বিদ্যমান থাকে। | (A &B) =12, যা হল 0000 1100 |
| | বাইনারি বা অপারেটর কিছুটা কপি করে যদি এটি কোন একটি অপারেন্ডে থাকে। | (A | B) =61, যা হল 0011 1101 |
^ | বাইনারী XOR অপারেটর বিটটি কপি করে যদি এটি একটি অপারেন্ডে সেট করা থাকে তবে উভয়টিতে নয়। | (A^B) =49, যা হল 0011 0001 |
~ | বাইনারী ওয়ানস কমপ্লিমেন্ট অপারেটর ইউনারী এবং এটির 'ফ্লিপিং' বিটের প্রভাব রয়েছে। | (~A ) =61, যা একটি স্বাক্ষরিত বাইনারি সংখ্যার কারণে 2 এর পরিপূরক হিসাবে 1100 0011। |
<< | বাইনারী বাম শিফট অপারেটর। বাম অপারেন্ডের মান ডান অপারেন্ড দ্বারা নির্দিষ্ট করা বিটের সংখ্যা দ্বারা বামে সরানো হয়। | A <<2 =240, যা হল 1111 0000 |
>> | বাইনারি রাইট শিফট অপারেটর। বাম অপারেন্ডের মান ডান অপারেন্ড দ্বারা নির্দিষ্ট করা বিটের সংখ্যা দ্বারা ডানদিকে সরানো হয় | A>> 2 =15, যা হল 0000 1111 |
C# এ বিটওয়াইজ অপারেটরদের সাথে কিভাবে কাজ করতে হয় তা দেখানোর একটি উদাহরণ নিচে দেওয়া হল।
উদাহরণ
using System; namespace Demo { class Program { static void Main(string[] args) { int a = 60; /* 60 = 0011 1100 */ int b = 13; /* 13 = 0000 1101 */ int c = 0; c = a & b; /* 12 = 0000 1100 */ Console.WriteLine("Value of c is {0}", c ); c = a | b; /* 61 = 0011 1101 */ Console.WriteLine("Value of c is {0}", c); c = a ^ b; /* 49 = 0011 0001 */ Console.WriteLine("Value of c is {0}", c); c = ~a; /*-61 = 1100 0011 */ Console.WriteLine("Value of c is {0}", c); c = a << 2; /* 240 = 1111 0000 */ Console.WriteLine("Value of c is {0}", c); c = a >> 2; /* 15 = 0000 1111 */ Console.WriteLine("Value of c is {0}", c); Console.ReadLine(); } } }
আউটপুট
Value of c is 12 Value of c is 61 Value of c is 49 Value of c is -61 Value of c is 240 Value of c is 15