题解 | #二进制中1的个数#

重点是求得一个数的二进制,我这里是调用的toString()api来返回一个数字的二进制字符

function NumberOf1(n = 0)
{
    // write code here
    let newN = n < 0? -n:n
//     本身二进制长度
    let length = newN.toString().length
//     本身二进制中1的个数
    let count = 0
//     将n转化为二进制
    let str = newN.toString(2)
    for(let i = 0;i < str.length; i++){
        if(str.charAt(i) == "1") {
            count++
        }
    }
//     正负数对应不同的逻辑,即是否取反码
    if(n < 0){
        console.log(count + 32 - str.length)
        return count + 32 - str.length
    }else{
        console.log(count)
        return count
    }
}
module.exports = {
    NumberOf1 : NumberOf1
};
全部评论

相关推荐

YZBPXX:国科的佬都挂了 让我们这些四非怎么活呀
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
昨天 11:34
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务