Java算法题:二进制中1的个数

讨论 Rambo_gor
Lv5 宗师级炼丹师
发布在 Java编程   951   0
讨论 Rambo_gor   951   0

    题目描述

    输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。

    实现方式

    public class Solution {
        public int NumberOf1(int n) {
            if(n== 0)
                return 0;
            if(n<0) {
                n = (int) (Math.pow(2, 31) + n);
                String s = Integer.toBinaryString(n);
                return s.length() - s.replace("1", "").length() + 1;
            }
            else {
                String s = Integer.toBinaryString(n);
                return s.length() - s.replace("1", "").length();
            }
        }
    }
    版权声明:作者保留权利,不代表意本站立场。如需转载请联系本站以及作者。

    参与讨论

    回复《 Java算法题:二进制中1的个数

    EditorJs 编辑器

    沙发,很寂寞~
    反馈
    to-top--btn