剑指offer:二进制中1的个数
一、题目描述
输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。
二、思路
将整数转为二进制字符串,然后依次遍历字符串中的每个字符计算‘1’的个数。
//将整数n转换为对应二进制数的字符串 Integer.toBinaryString(n)
public class Solution { public int NumberOf1(int n) { int res = 0; if(n==0){ return res; } String num = Integer.toBinaryString(n); System.out.println(num); for(int i=0;i<num.length();i++){ if(num.charAt(i)=='1'){ res++; } } return res; } }