পর্ব ২৪: বিটওয়াইজ অপারেটর | Bitwise Operators in C

🎯 এই পর্বে যা জানবে:

  • বিটওয়াইজ অপারেটর কী
  • AND, OR, XOR, NOT, LEFT SHIFT, RIGHT SHIFT অপারেটরের কাজ
  • বাইনারি লেভেলে অপারেশন বোঝা
  • উদাহরণসহ কোড বিশ্লেষণ
  • টিপস ও বাস্তব প্রয়োগ

🧩 বিটওয়াইজ অপারেটর কী?

C প্রোগ্রামিং-এ বিটওয়াইজ অপারেটর ব্যবহার করে বাইনারি লেভেলে (bit level) কাজ করা যায়।
অর্থাৎ, ভ্যালুর প্রতিটি বিট (0 বা 1) এর উপর সরাসরি অপারেশন হয়।

এগুলো খুবই দরকারি হয়:

  • হার্ডওয়্যার প্রোগ্রামিং
  • মেমোরি অপটিমাইজেশন
  • এনক্রিপশন / ডেটা সিকিউরিটি
  • পারফরম্যান্স সংক্রান্ত কাজ

🧮 বিটওয়াইজ অপারেটরের তালিকা

অপারেটরনামকাজ
&ANDউভয় বিট 1 হলে 1 হয়
``OR
^XORদুটি বিট ভিন্ন হলে 1 হয়
~NOTবিট উল্টে দেয়
<<Left Shiftবিট বাম দিকে সরায়
>>Right Shiftবিট ডান দিকে সরায়

🔹 AND অপারেটর (&)

দুটি বিটই যদি 1 হয়, তাহলে ফলাফল 1, নয়তো 0

বাইনারি হিসাব:

আউটপুট:


🔹 OR অপারেটর (|)

যেকোনো একটি বিট 1 হলে ফলাফল 1

বাইনারি হিসাব:

আউটপুট:


🔹 XOR অপারেটর (^)

দুটি বিট ভিন্ন হলে 1, একই হলে 0

বাইনারি হিসাব:

আউটপুট:


🔹 NOT অপারেটর (~)

সব বিট উল্টে দেয় — 10, 01
(দ্রষ্টব্য: সাইনড ইন্টিজারের জন্য কমপ্লিমেন্ট ফর্ম ব্যবহৃত হয়)

আউটপুট:

(কারণ ~a = -(a+1))


🔹 Left Shift (<<)

বিটগুলোকে নির্দিষ্ট সংখ্যক পজিশন বাম দিকে সরায়।
প্রতিটি শিফটে সংখ্যা দ্বিগুণ (×2) হয়।

আউটপুট:


🔹 Right Shift (>>)

বিটগুলোকে ডান দিকে সরায়।
প্রতিটি শিফটে সংখ্যা অর্ধেক (÷2) হয়।

আউটপুট:


⚡ বাস্তব ব্যবহার

  • হার্ডওয়্যার ডিভাইসের কন্ট্রোল বিট সেট বা ক্লিয়ার করা
  • ডেটা কম্প্রেশন বা এনক্রিপশন
  • দ্রুত গাণিতিক গণনা (গুণ / ভাগ ২ দিয়ে)
  • ফ্ল্যাগ ম্যানিপুলেশন

💡 টিপস

✅ সবসময় বাইনারি রূপ বোঝার চেষ্টা করো।
✅ শিফট অপারেশনে মান খুব বড় হয়ে গেলে ওভারফ্লো হতে পারে।
unsigned int ব্যবহার করলে ফলাফল পূর্বানুমানযোগ্য হয়।


🧾 সংক্ষেপে

অপারেটরকাজউদাহরণফলাফল
&AND5 & 31
``OR5 | 3
^XOR5 ^ 36
~NOT~5-6
<<Left Shift5 << 110
>>Right Shift8 >> 22

পর্ব ২৪: বিটওয়াইজ অপারেটর | Bitwise Operators in C

C প্রোগ্রামিং টিউটোরিয়াল (৩০ পর্বে)