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

সংখ্যার বিট ইনভার্ট করা দক্ষতার সাথে (C++)

একটি নন-নেগেটিভ সংখ্যা দেওয়া আছে। এর বাইনারি বিটগুলো ইনভার্ট করে ডেসিমেল মান বের করুন। লগ₂(n) বের করে মাস্ক তৈরি করুন।

উদাহরণ

#include <bits/stdc++.h>
using namespace std;

int invert_bit(int n) {
    int x = log2(n);
    int m = 1 << x;
    m = m | (m - 1);
    return n ^ m;
}

int main() {
    cout << invert_bit(17) << endl; // 17 = 10001 -> 01110 = 14
    return 0;
}

আউটপুট

14
  1. C++ প্রোগ্রাম: র‍্যান্ডম নম্বর জেনারেট

  2. আর্মস্ট্রং নম্বর (Armstrong Number) চেক করার C++ প্রোগ্রাম

  3. সংখ্যার ঘাত (Power) বের করার C++ প্রোগ্রাম (রিকার্সিভ ও নন-রিকার্সিভ)

  4. C++ প্রোগ্রাম: সংখ্যা উল্টানো (Reverse a Number)