输入一个整数,输出该数二进制表示中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}