#include <iostream>
using namespace std;
int main()
{
// n 的二进制表示中第k位是几
// (1)n右移 k 位,n>>k
// (2)与(&)上1
int n = 11;
int res = n >> 2 & 1;
cout << res << endl;
// x 的二进制表示中最右边的一个1
// res = x & (-x)
// 1010结果就是 0010
// 题目示例:求出一个数的二进制表示中1的个数
int x;
cin >> x;
res = 0;
while (x)
{
x -= (x & (-x));
res++;
}
cout << res << endl;
return 0;
}
位运算(部分)
最新推荐文章于 2024-09-04 15:29:39 发布