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

বাইনারি রিপ্রেজেন্টেশনে k-তম বিটের মান বের করা (C++)


সমস্যা বিবরণ

দুটি মান n এবং k দেওয়া হয়েছে। আমাদের কাজ হল সংখ্যা n-এর বাইনারি রিপ্রেজেন্টেশনে k-তম বিটের মান (0 বা 1) বের করা।

উদাহরণ

ইনপুট: n = 5, k = 2
আউটপুট: 0
ব্যাখ্যা: 5-এর বাইনারি = 0101, দ্বিতীয় LSB বিট = 0।

সমাধানের পদ্ধতি

বিটওয়াইজ AND অপারেশন ব্যবহার করে: (n & (1 << (k-1))) >> (k-1)। এখানে (1 << (k-1)) k-তম বিট ছাড়া সব বিট 0 রাখে।

প্রোগ্রাম উদাহরণ

#include <iostream>
using namespace std;

void findKBitVal(int n, int k) {
    cout << ((n & (1 << (k - 1))) >> (k - 1));
}

int main() {
    int n = 29, k = 4;
    cout << "সংখ্যার বাইনারিতে k-তম বিটের মান: ";
    findKBitVal(n, k);
    return 0;
}

আউটপুট

সংখ্যার বাইনারিতে k-তম বিটের মান: 1
  1. বাইনারি ট্রিতে সর্বোচ্চ লেভেল সম বের করা C++-তে

  2. C++-এ Find Leaves of Binary Tree: বাইনারি ট্রি থেকে লีফ নোডগুলো লেভেল অনুযায়ী সংগ্রহ করা

  3. ট্রির শেষ সারির বামপাশের মান C++-এ

  4. C++-এ বাইনারি সার্চ ট্রি (BST)-এ সর্বনিম্ন মান্যুক্ত নোড (Node) খুঁজে বের করা