# 练习-统计二进制中表示1的个数

106 阅读1分钟

题目

请编写一个函数,输入一个整数,输出该数二进制表示中 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));

后续其他解法再补充,感谢指正批评!