1>题目描述
- 题目描述:
- 输入一个int型的正整数,计算出该int型数据在内存中存储时1的个数。
- 输入描述:
- 输入一个整数(int类型)
- 输出描述:
- 这个数转换成2进制后,输出1的个数
2>解法一
- 十进制转二进制算法:
- 不停地让num/2并取余,最后把余数倒叙就是对应的二进制数
- 对与这道题我们只需要在余数为1是记录即可
import java.util.*;
public class Main{
public static void main(String[] args){
Scanner scanner =new Scanner(System.in);
int value = scanner.nextInt();
int sum = 0;
while(value!=0){
if(value%2 == 1){
sum++;
}
value/=2;
}
System.out.println(sum);
}
}