输出一个整数在二进制表示中1的个数

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

思路: 很明显,可以将十进制整数转化为二进制表示字符串,再挨个数“1”的个数。当然,也可以通过除法运算与求余运算相结合解决。

代码:

import org.junit.Test;

public class NumberOf1 {
	public int numberOf1(int n) {
		String num = Integer.toBinaryString(n);
		System.out.println(num);//十进制n的二进制字符串表示
		int count = 0;
		for(int i = 0;i < num.length();i++)
			if(num.charAt(i)=='1')
				count++;
		return count;
    }
	@Test
	public void test(){
		System.out.println(numberOf1(15));
	}
}

输出:

1111
4

发布了9 篇原创文章 · 获赞 0 · 访问量 33

猜你喜欢

转载自blog.csdn.net/qq_35419705/article/details/105696450