二进制中1的个数

解题思路

  最开始觉得题目难在负数的补码如何求上面,但是..........自从知道了java当中有Integer.toBinaryString(n)方法,感觉瞬间就变得简单了

题目描述

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

代码实现

 1 public class Solution {
 2     public int NumberOf1(int n) {
 3        int flag = 0;
 4        char[] s = Integer.toBinaryString(n).toCharArray();
 5         for(int j=0; j<s.length; j++){
 6             if(s[j]=='1'){
 7                 flag += 1;
 8             }
 9         }
10         return flag;
11     }
12 }

 

posted @ 2018-03-04 22:11  休眠体  阅读(105)  评论(0编辑  收藏  举报