实现一个函数,输入一个整数,输出该数的二进制表示1的个数。例如9的二进制数位1001,则1的个数为2。
因为js中有一个toString()属性可以将十进制转换为任意进制的数,因此我们使用toString(2)将整数转换为二进制数。代码实现如下:
function str(n){
var m = n.toString(2);
var count = 0;
console.log(m);
var arr = m.split('');
for(var i=0,L=arr.length; i<L; i++){
if(arr[i] == '1'){
count++;
}
}
return count;
}
console.log(str(9)); //2