একটি নন-নেগেটিভ সংখ্যা দেওয়া আছে। এর বাইনারি বিটগুলো ইনভার্ট করে ডেসিমেল মান বের করুন। লগ₂(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