সমস্যা বিবরণ
দুটি পূর্ণসংখ্যা দেওয়া আছে। প্রথম সংখ্যার সেট বിറ്റগুলো দ্বিতীয় সংখ্যার নির্দিষ্ট রেঞ্জে কপি করতে হবে। শেষে পরিবর্তিত সংখ্যা রিটার্ন করতে হবে।
C++ কোড উদাহরণ
#include <bits/stdc++.h>
using namespace std;
void copySetBits(unsigned &x, unsigned y, unsigned l, unsigned r) {
if (l < 1 || r > 32) return;
for (int i = l; i <= r; i++) {
int mask = 1 << (i-1);
if (y & mask) x = x | mask;
}
}
int main() {
unsigned x = 10, y = 13, l = 2, r = 3;
copySetBits(x, y, l, r);
cout << "Modified x: " << x;
return 0;
}
আউটপুট
Modified x: 14