n的二进制表示中第k位是几 n >> k看个位是几 x &1 二进制中1的个数 #include<iostream> using namespace std; const int N = 100010; int a[N], b[N]; int main() { int n; cin >> n; while (n --) { int x = 0, res = 0; cin >> x; for (int i = x; i > 0; i -= i & -i) res ++; cout << res; } }