二进制中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
}

posted @ 2018-08-28 23:54  hui-fly  阅读(112)  评论(0编辑  收藏  举报