方法:
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param n int整型
* @return int整型
*/
int NumberOf1(int n ) {
// write code here
int count = 0;
int num = 32;
while (num > 0) {
if((n & 1) == 1)
{
count++;
}
n >>= 1;
num--;
}
return count;
}
思路:
将整数和数字1进行&运算,如果结果为1,那么整数二进制的最后一位为1。然后将整数右移一位,再与1&运算,循环32次。