美文网首页
小米-基础算法-二进制中有多少个1

小米-基础算法-二进制中有多少个1

作者: luweicheng24 | 来源:发表于2019-01-28 11:22 被阅读0次

    计算在一个 32 位的整数的二进制表示中有多少个 1。
    eg:
    样例 1:
    输入:32
    输出:1
    解释:
    32(100000),返回 1。
    样例 2:
    输入:5
    输出:2
    解释:
    5(101),返回 2。

    实现:

    public class Solution {
        /*
         * @param num: An integer
         * @return: An integer
         */
        public int countOnes(int num) {
              int sum = 0;
            if(num<0){
                num = num & 0x7fffffff ;
                sum++;
            }
            if (num == 0) {
                return 0;
            }
            while (num != 0) {
                int a = num % 2;
                if (a != 0) {
                    sum++;
                }
                num = num >>> 1;
            }
            return sum;
        }
    };
    

    相关文章

      网友评论

          本文标题:小米-基础算法-二进制中有多少个1

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