《劍指offer》面試題10(二進制中1的個數)

#include <iostream>

using namespace std;
int numberOf1(int n)
{
    int cnt=0;
    while(n)
    {
        n=n&(n-1);  //把n的二進制中最低位的1變爲0
        cnt++;
    }
    return cnt;
}
int main()
{
   cout<<numberOf1(8);
   cout<<numberOf1(-1);
    return 0;
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章