题解
2025-11-28 20:12:26
发布于:湖南
10阅读
0回复
0点赞
#include <iostream>
using namespace std;
int main() {
long long x; // 用long long存储x(因为x最大为1e18,超过int范围)
int n;
cin >> x >> n;
if (n == 0) {
cout << 0 << endl; // n=0时,低0位结果为0
return 0;
}
// 构造掩码:低n位全为1,其余为0
unsigned long long mask = (1ULL << n) - 1;
// 用x与掩码做位与运算,得到低n位的值
unsigned long long result = x & mask;
cout << result << endl;
return 0;
}
这里空空如也




有帮助,赞一个