设一个64位整型n,各个bit位是1的个数为a个。
比如7,二进制是111,所以a为3。现在给出m个数,求各个a的值。
#include<iostream> using namespace std; int cbit(unsigned long long n ){ int counter = 0; unsigned long long dismark = 1; for (int c=1;c<=64; c++) { if (n&dismark) ++counter; n >>= 1; } return counter; } int main(){ int m; cin>>m; unsigned long long x ; for(int i=0;i<m;++i){ cin>>x; cout<<cbit(x)<<endl; } return 0; }