इस ट्यूटोरियल में, हम दिए गए रेंज में एक नंबर के सेट बिट्स को दूसरे नंबर पर कॉपी करने के प्रोग्राम पर चर्चा करेंगे।
इसके लिए हमें दो पूर्णांक दिए जाएंगे। हमारा काम बिट्स को पहली संख्या में देखना है और उन बिट्स को दूसरी संख्या में भी सेट करना है यदि वे दी गई सीमा में हैं। अंत में उत्पादित अंक लौटा रहा है।
उदाहरण
#include <bits/stdc++.h>
using namespace std;
//copying set bits from y to x
void copySetBits(unsigned &x, unsigned y,
unsigned l, unsigned r){
//l and r should be between 1 and 32
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