面试经典题-位操作
設一個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; }轉載于:https://www.cnblogs.com/caleb/archive/2011/05/05/2037827.html
總結
- 上一篇: 引用一个网络图片作为样式的致命悲剧
- 下一篇: 131125 - 关于对“一次元”、“二