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

C/C++-এ বিটওয়াইজ AND এবং লজিক্যাল AND অপারেটরের পার্থক্য

যা আমরা জানি, বিটওয়াইজ AND (bitwise AND) কে & দিয়ে প্রতীকী করা হয় এবং লজিক্যাল AND অপারেটর (logical AND operator) কে && দিয়ে। তাদের মধ্যে কিছু মৌলিক পার্থক্য রয়েছে। এগুলো নিচে দেওয়া হলো:

  • লজিক্যাল AND অপারেটর বুলিয়ান এক্সপ্রেশন (Boolean expressions)-এর ওপর কাজ করে এবং শুধু বুলিয়ান ভ্যালু (Boolean values) রিটার্ন করে। বিটওয়াইজ AND অপারেটর ইন্টিজার (integer), শর্ট ইন্ট (short int), লং (long), আনসাইন্ড ইন্ট (unsigned int) টাইপ ডেটা-র ওপর কাজ করে এবং সেই টাইপের ডেটা রিটার্ন করে।

উদাহরণ (C++ প্রোগ্রাম)

#include <iostream>
using namespace std;

int main() {
    int x = 3;  // ...0011
    int y = 7;  // ...0111
    if (y > 1 && y > x)
        cout << "y is greater than 1 AND x" << endl;
    int z = x & y; // 0011
    cout << "z = " << z;
}

আউটপুট (Output)

y is greater than 1 AND x
z = 3
  • && অপারেটর দ্বিতীয় অপারেন্ড ইভ্যালুয়েট (evaluate) করে না যদি প্রথম অপারেন্ড false হয়। একইভাবে, || অপারেটর দ্বিতীয় অপারেন্ড ইভ্যালুয়েট করে না যদি প্রথমটি true হয়। কিন্তু বিটওয়াইজ অপারেটর যেমন & এবং | সবসময় তাদের অপারেন্ডগুলো ইভ্যালুয়েট করে।

উদাহরণ (C++ প্রোগ্রাম)

#include <iostream>
using namespace std;

int main() {
    int x = 0;
    cout << (x && printf("Test using && ")) << endl;
    cout << (x & printf("Test using & "));
}

আউটপুট (Output)

0
Test using & 0

ব্যাখ্যা: প্রথমে x && printf(...) এ x হল ০ (false), তাই শর্ট-সার্কিট (short-circuit) হওয়ায় printf কল হয় না, আউটপুট ০। দ্বিতীয়ে x & printf(...) এ বিটওয়াইজ AND হলে দুটি অপারেন্ডই ইভ্যালুয়েট হয়, তাই printf এক্সিকিউট হয় এবং "Test using & " প্রিন্ট হয়, এর রিটার্ন ভ্যালু (ক্যারেক্টার কাউন্ট) & অপারেশনে অংশ নেয়, ফাইনাল রেজাল্ট ০।

মূল পার্থক্য সারসংক্ষেপ:

বিষয় লজিক্যাল AND (&&) বিটওয়াইজ AND (&)
অপারেন্ড টাইপবুলিয়ান/পয়েন্টারইন্টিজার টাইপ
রিটার্ন টাইপবুলিয়ান (0/1)ইন্টিজার
শর্ট-সার্কিটহ্যাঁ (দ্বিতীয় অপারেন্ড স্কিপ হতে পারে)না (দুইটোই ইভ্যালুয়েট হয়)
ব্যবহারকন্ডিশন চেকবিট ম্যানিপুলেশন
  1. পাইথন ২.x এবং ৩.x ভার্সনের পার্থক্যগুলো কী?

  2. পাইথন ২.৭.x এবং পাইথন ৩.x-এর মধ্যে মূল পার্থক্য

  3. ওয়াই-ফাই ৬ এবং ৫জি নেটওয়ার্কের মধ্যে পার্থক্য কী?

  4. উইন্ডোজ ১০ বনাম উইন্ডোজ ১১: মূল পার্থক্য ও আপনার জন্য কোনটি সঠিক