二进制中1的个数

输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。

将负数用补码表示的操作:负数的逻辑右移0位得到其补码(如-1的补码为32个1

function NumberOf1(n)
{
if(n<0){
n=n>>>0;
}
var str=n.toString(2)
var count=0;
for(var i=0;i<str.length;i++){
if(str[i]==='1'){
count++;
}
}
return count
}

原文地址:https://www.cnblogs.com/hui-fly/p/9551758.html