复制C ++中某个范围内的设置位
在本教程中,我们将讨论在给定范围内将一个数字的设置位复制到另一个数字的程序。
为此,我们将提供两个整数。我们的任务是查看第一个数字中的位,如果它们在给定范围内,则还要设置第二个数字中的那些位。最后返回产生的数字。
示例
#include <bits/stdc++.h>
using namespace std;
//将设置的位从y复制到x-
void copySetBits(unsigned &x, unsigned y,
unsigned l, unsigned r){
//l和r应该在1到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
热门推荐
10 新年门口花束祝福语简短
11 盘锦结婚祝福语大全简短
12 父母生日祝福语 简短独特
13 家庭恩爱祝福语简短英文
14 高考俄语祝福语大全简短
15 虎年祝福语 诗句唯美简短
16 生日婚礼祝福语简短精辟
17 虎年喝酒拜年祝福语简短
18 教师闺蜜祝福语简短