題目描述
請實現如下接口
public static int findNumberOf1( int num)
{
/* 請實現 */
return 0;
}
譬如:輸入5 ,5的二進制爲101,輸出2
涉及知識點:
注意多組輸入輸出!!!!!!
輸入描述:
輸入一個整數
輸出描述:
計算整數二進制中1的個數(也被稱爲漢明重量)。
示例1
輸入
5
輸出
2
C++解答代碼
#include <iostream>
using namespace std;
int findNumberOf1(int num)
{
int count = 0;
while(num){
if(num & 1)
++count;
num >>= 1;
}
return count;
}
int main(){
int num;
while(cin >> num){
cout << findNumberOf1(num) << endl;
}
return 0;
}
C代碼如下:
int OneCountBinary(unsigned int n){
int count = 0;
while(n){
if (n % 2){
++count;
}
n /= 2;
}
return count;
}
int main(){
int input;
scanf("%d", &input);
printf("%d", OneCountBinary(input));
return 0;
}
代碼生成圖
如有不同見解,歡迎留言討論~~