美文网首页剑指offer
11-二进制中1的个数-补码-toString()的巧用

11-二进制中1的个数-补码-toString()的巧用

作者: 马甲要掉了 | 来源:发表于2020-04-30 18:03 被阅读0次

题目描述

输入一个整数,输出该数二进制表示中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                              可选。传递给函数的初始值

相关文章

网友评论

    本文标题:11-二进制中1的个数-补码-toString()的巧用

    本文链接:https://www.haomeiwen.com/subject/dgstghtx.html