বিটওয়াইজ অপারেটরস

অপারেটরস এবং এক্সপ্রেশন - সি++ প্রোগ্রামিং (C++ Programming) - Computer Programming

514

বিটওয়াইজ অপারেটরস হল সেই অপারেটরগুলো যা সরাসরি বিটের স্তরে কাজ করে। C++ এ বিটওয়াইজ অপারেটরগুলি বিভিন্ন বিট-লেভেল অপারেশনের জন্য ব্যবহৃত হয়। এগুলি সংখ্যার বাইনারি প্রতিনিধিত্বের উপর ভিত্তি করে কাজ করে এবং কম্পিউটিংয়ে খুবই গুরুত্বপূর্ণ, বিশেষ করে মেমোরি ম্যানেজমেন্ট এবং অপ্টিমাইজেশনের ক্ষেত্রে।

C++ এ বিটওয়াইজ অপারেটরস

সি++ এ বেশ কিছু বিটওয়াইজ অপারেটর রয়েছে, যেগুলো নিচে উল্লেখ করা হলো:

অপারেটরনামউদাহরণবর্ণনা
&ANDa & bউভয় বিট ১ হলে ১।
|OR a । bযেকোনো একটি বিট ১ হলে বিট ১ হয়
^XORa ^ bদুই বিট ভিন্ন হলে ১।
~NOT~aপ্রতিটি বিট বিপরীত করে।
<<বিট শিফট বামেa << 2বিটগুলোকে বামে সরায় এবং শূন্য পূরণ করে।
>>বিট শিফট ডানেa >> 2বিটগুলোকে ডানে সরায় এবং শূন্য পূরণ করে।

১. বিটওয়াইজ AND (&)

বিটওয়াইজ AND অপারেটর প্রতিটি বিটের উপর AND অপারেশন করে। কেবলমাত্র উভয় বিট ১ হলে ফলস্বরূপ বিট ১ হয়, অন্যথায় ০ হয়।

উদাহরণ:

#include <iostream>
using namespace std;

int main() {
    int a = 5;    // 0101
    int b = 3;    // 0011
    int result = a & b; // 0001 = 1
    cout << "a & b: " << result << endl; // Output: a & b: 1
    return 0;
}

২. বিটওয়াইজ OR (|)

বিটওয়াইজ OR অপারেটর প্রতিটি বিটের উপর OR অপারেশন করে। যেকোনো একটি বিট ১ হলে ফলস্বরূপ বিট ১ হয়।

উদাহরণ:

#include <iostream>
using namespace std;

int main() {
    int a = 5;    // 0101
    int b = 3;    // 0011
    int result = a | b; // 0111 = 7
    cout << "a | b: " << result << endl; // Output: a | b: 7
    return 0;
}

৩. বিটওয়াইজ XOR (^)

বিটওয়াইজ XOR অপারেটর প্রতিটি বিটের উপর XOR অপারেশন করে। দুই বিট ভিন্ন হলে ফলস্বরূপ বিট ১ হয়, অন্যথায় ০ হয়।

উদাহরণ:

#include <iostream>
using namespace std;

int main() {
    int a = 5;    // 0101
    int b = 3;    // 0011
    int result = a ^ b; // 0110 = 6
    cout << "a ^ b: " << result << endl; // Output: a ^ b: 6
    return 0;
}

৪. বিটওয়াইজ NOT (~)

বিটওয়াইজ NOT অপারেটর একটি সংখ্যা বা ভ্যারিয়েবলের প্রতিটি বিট উল্টো করে। অর্থাৎ ১ কে ০ এবং ০ কে ১ করে।

উদাহরণ:

#include <iostream>
using namespace std;

int main() {
    int a = 5;    // 0101
    int result = ~a; // 1010 (বাইনারি)
    cout << "~a: " << result << endl; // Output: ~a: -6 (দুইয়ের পরিপূরক)
    return 0;
}

বিঃদ্রঃ: বিটওয়াইজ NOT অপারেটরের আউটপুটে সংখ্যা নেগেটিভ হতে পারে কারণ এটি দুইয়ের পরিপূরক নোটেশনে কাজ করে।

৫. বিট শিফট বামে (<<)

বিট শিফট অপারেটর বামে << ব্যবহার করে একটি সংখ্যা নির্দিষ্ট সংখ্যক বিট বামে সরায়। প্রতিটি শিফটে ডানে শূন্য পূরণ করে।

উদাহরণ:

#include <iostream>
using namespace std;

int main() {
    int a = 5;    // 0101
    int result = a << 1; // 1010 = 10
    cout << "a << 1: " << result << endl; // Output: a << 1: 10
    return 0;
}

৬. বিট শিফট ডানে (>>)

বিট শিফট অপারেটর ডানে >> ব্যবহার করে একটি সংখ্যা নির্দিষ্ট সংখ্যক বিট ডানে সরায়। প্রতিটি শিফটে বামে শূন্য পূরণ করে।

উদাহরণ:

#include <iostream>
using namespace std;

int main() {
    int a = 5;    // 0101
    int result = a >> 1; // 0010 = 2
    cout << "a >> 1: " << result << endl; // Output: a >> 1: 2
    return 0;
}

সারসংক্ষেপ

বিটওয়াইজ অপারেটরস C++ প্রোগ্রামিংয়ে সরাসরি বিট লেভেলে কাজ করার জন্য ব্যবহৃত হয়। এগুলো মেমোরি ম্যানেজমেন্ট, কম্পিউটিং পারফরম্যান্স অপটিমাইজেশন, এবং দ্রুত গাণিতিক অপারেশনের জন্য অত্যন্ত কার্যকরী। বিটওয়াইজ অপারেটরস প্রোগ্রামারদেরকে প্রোগ্রামের আরও বেশি নিয়ন্ত্রণ এবং দক্ষতা প্রদান করে, যা জটিল সমস্যা সমাধানে সহায়ক।

Content added || updated By
Promotion

Are you sure to start over?

Loading...