統計二進制數中1的個數

方法1:

int CountNumOf1(int digital)

{

int num = 0;

while(digital)

{

if(digital % 2 == 1)

{

num ++;

}

digital /= 2;

}

return num;

}

方法2:

int CountNumOf1(int digital)

{

int num = 0;

while(digital)

{

num += (digital % 2) ? 1: 0; 

digital /= 2;

}

return num;

}

方法3:

int CountNumOf1(int digital)

{

int num = 0;

while(digital)

{

num += digital & 0x01; 

digital >>= 1;

}

return num;

}

方法4:

int CountNumOf1(int digital)

{

int num = 0;

while(digital)

{

digital &= (digital - 1); 

num++;

}

return num;

}


int main(void)

{

int n;

scanf("%d",&n);

printf("%d ",CountNumOf1(n));

return 0;

}

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