1. 程式人生 > >2.1求二進位制中1的個數

2.1求二進位制中1的個數

#include <iostream>
#include <windows.h>   //byte型別標頭檔案
using namespace std;
int Count(int v)
{
int num = 0;
while (v){
v &= (v - 1);   //減一然後與運算,結果若為0,則可以計算出最高位為1,結果不為0是,最高位為1,迴圈後幾位
num++;
}
return num;
}
int main()
{
int v;
cin>>v;

cout<<Count(v)<<endl;
cin.get();
cin.get();
return 0;
}