JAVA------------------华为机试-----------------------求int型正整数在内存中存储时1的个数

题目描述

输入一个int型的正整数,计算出该int型数据在内存中存储时1的个数。

输入描述:

 输入一个整数(int类型)

输出描述:

 这个数转换成2进制后,输出1的个数

示例1

输入

5

输出

2

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		int n = scanner.nextInt();
		int counter = 0;
		String aString = Integer.toBinaryString(n);
		for (int i = 0; i < aString.length(); i++) {
			if(aString.charAt(i) == '1') {
				counter++;
			}
		}
		System.out.println(counter);
	}
}




posted @ 2018-05-20 20:22  过道  阅读(243)  评论(0编辑  收藏  举报