美文网首页
练习11--二进制中1的个数

练习11--二进制中1的个数

作者: 莫小西0213 | 来源:发表于2017-10-23 14:21 被阅读0次

    题目:输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。
    思路:1、java中有个方法可将任意整数转换成二进制表示;
    2、使用按位与,将n与n-1相与,n中有多少个1就能进行与多少次。
    代码:

    public int NumberOf1(int n) {
    int count=Integer.toBinaryString(n).replace("0","").length();
    return count;
    }

    public int NumberOf2(int n) {
    int count=0;
    while(n!=0) {
    n=n&(n-1);
    count++;
    }
    return count;
    }

    相关文章

      网友评论

          本文标题:练习11--二进制中1的个数

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