描述:
计算在一个 32 位的整数的二进制表式中有多少个 1
.
样例:
给定 32
(100000),返回 1
给定 5
(101),返回 2
给定 1023
(111111111),返回 9
Java代码:
<<:左移运算符,num << 1,相当于num乘以2。右边补0
>>:右移运算符,num >> 1,相当于num除以2。正数左边补0,负数左边补1
>>>:无符号右移,忽略符号位,空位都以0补齐
public class Solution {
/**
* @param num: an integer
* @return: an integer, the number of ones in num
*/
public int countOnes(int num) {
// write your code here
int count = 0;
while(num!=0){
count += num & 0x01;
num = num >>> 1;
}
return count;
}
};