5的二进制是101,答案为2.
-5的二进制是 1111111111111111111111111111111111111111111111111111111111111011,答案为31.
用程序实现一个数转换成二进制,并且求所得出的二进制数中有几个1?
着急用,谢谢大家帮忙!

解决方案 »

  1.   

    Integer不是有现成的办法么?
    或者自己写个算法根据规则算也不麻烦吧。
      

  2.   

    System.out.println(Integer.toBinaryString(5));
    System.out.println(Integer.toBinaryString(-5));
      

  3.   


            int i = -5;
            String str = Integer.toBinaryString(i);
            System.out.print("整数 " + i + " 的二进制值为 " + str);
            int num = str.replaceAll("0", "").length();
            System.out.println(", 该二进制值中包含了 " + num + " 个数字1");