Code
1 无法解决负数
/**
* @param {number} n - a positive integer
* @return {number}
*/
var hammingWeight = function(n) {
let str = n.toString(2);
let ans = 0;
for(let i = 0; i < str.length; i ++){
if(str[i] === '1') ans ++;
}
return ans;
};
- 位运算
/**
* @param {number} n
* @return {number}
*/
var NumberOf1 = function(n) {
let count = 0;
for(let i = 0; i < 32; i ++){
count += (n >> i & 1)
}
return count;
};