কম্পিউটার টিউটোরিয়াল

C#-তে বিটওয়াইজ অপারেটরগুলো কী?

বিটওয়াইজ অপারেটর বিট (bit) लेভেলে কাজ করে এবং বিট दर বিট অপারেশন সম্পাদন করে।

নিচে বিটওয়াইজ অপারেটরগুলো দেওয়া হলো:

অপারেটরবিবরণউদাহরণ
&বাইনারি AND অপারেটর: যদি দুটি অপারেন্ডে বিট থাকে তবে ফলাফলে কপি করে।(A & B) = 12, যা 0000 1100
|বাইনারি OR অপারেটর: যেকোনো একটি অপারেন্ডে বিট থাকলে কপি করে।(A | B) = 61, যা 0011 1101
^বাইনারি XOR অপারেটর: শুধু একটি অপারেন্ডে বিট সেট থাকলে কপি করে।(A ^ B) = 49, যা 0011 0001
~বাইনারি Ones Complement অপারেটর: ইউনারি, বিটগুলো ফ্লিপ (flipping) করে।(~A) = -61, যা 1100 0011 (2's complement) দিয়ে
<<বাইনারি Left Shift অপারেটর: বাম অপারেন্ডের মান ডান অপারেন্ড দ্বারা নির্দিষ্ট বিট সংখ্যা만큼 বামে শিফট করে।A << 2 = 240, যা 1111 0000
>>বাইনারি Right Shift অপারেটর: বাম অপারেন্ডের মান ডান অপারেন্ড দ্বারা নির্দিষ্ট বিট সংখ্যা만큼 ডানে শিফট করে।A >> 2 = 15, যা 0000 1111

উদাহরণ

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("c এর মান {0}", c); 
            c = a | b; /* 61 = 0011 1101 */ 
            Console.WriteLine("c এর মান {0}", c); 
            c = a ^ b; /* 49 = 0011 0001 */ 
            Console.WriteLine("c এর মান {0}", c); 
            c = ~a; /* -61 = 1100 0011 */ 
            Console.WriteLine("c এর মান {0}", c); 
            c = a << 2; /* 240 = 1111 0000 */ 
            Console.WriteLine("c এর মান {0}", c); 
            c = a >> 2; /* 15 = 0000 1111 */ 
            Console.WriteLine("c এর মান {0}", c); 
            Console.ReadLine(); 
        } 
    } 
}

আউটপুট

c এর মান 12 
c এর মান 61 
c এর মান 49 
c এর মান -61 
c এর মান 240 
c এর মান 15
  1. C#-এ নেমস্পেস (Namespaces) কী?

  2. C#-এ লেফট শিফট এবং রাইট শিফট অপারেটর (>> এবং <<) কী?

  3. C#-এ রিলেশনাল অপারেটর (Relational Operators) কী কী?

  4. পাইথনে বিভিন্ন ধরনের বিটওয়াইজ অপারেটর কী কী?