题解 | #二进制中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
};
全部评论

相关推荐

不愿透露姓名的神秘牛友
07-04 18:02
好不容易拿到了字节Offer,鼠鼠做后端的,但家里人觉得可能被裁员不稳定,让鼠鼠去投国企,现在好纠结到底该咋选
文档传偷助手:该投就投吧,不过建议别放弃offer 拿到手里的才是最好的
投递字节跳动等公司8个岗位
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-02 17:58
点赞 评论 收藏
分享
06-20 21:22
已编辑
门头沟学院 Java
纯真的河老师在喝茶:答应了就跑啊,实习随便跑啊,别被pua了,md就是找个廉价劳动力,还平稳过度正式工,到时候跟你说没转正
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务