题解 | 求int型正整数在内存中存储时1的个数
求int型正整数在内存中存储时1的个数
https://www.nowcoder.com/practice/440f16e490a0404786865e99c6ad91c9
#include<bits/stdc++.h> using namespace std; #define IOS ios_base::sync_with_stdio(false);cin.tie(nullptr) #define INF 0x7fffffff #define inf 0x3f3f3f3f #define PII pair<int,int> #define endl '\n' #define int long long #define mod 998244353 #define MOD 1e9+7 int read() { char act = 0; int f = 1, x = 0; while (act = getchar(), act < '0' && act != '-'); if (act == '-') f = -1, act = getchar(); x = act - '0'; while (act = getchar(), act >= '0') x = x * 10 + act - '0'; return x * f; } void solve() { int n; cin>>n; int ans=__builtin_popcount(n);//函数获取一个数的二进制有多个1 cout<<ans<<endl; } signed main() { IOS; int t = 1; //cin>>t; while (t--) { solve(); } return 0; }