题目描述
输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。
代码
function NumberOf1(n){
if(n < 0){
n = n >>> 0;//get到新技能,该行命令能够获取到负数的补码
}
var arr = n.toString(2).split('');
return arr.reduce(function(a,b){
return b === "1" ? a + 1 : a;
},0);
}
//array.reduce(function(total, currentValue, currentIndex, arr), initialValue)
//initialValue 可选。传递给函数的初始值
网友评论