题目
请编写一个函数,输入一个整数,输出该数二进制表示中 1 的个数。
测试用例
输入: 5 输出: 2 解释: 5 的二进制表示为 101,其中有两位是 '1'。
解题思路:
十进制转换成二进制,采用短除法,每一次除以2,整数都将向右移一位;
- 那么,
- 就可以按位逐个检查奇偶,奇数该位便为1,计数器count++;
function count_bits1(num){
let count=0;
while(num!==0){
if(num % 2===1){
count++;
}
num=Math.floor(num/2);
}
return count;
}
console.log(count_bits1(5));
后续其他解法再补充,感谢指正批评!