题目描述
输入一个int型的正整数,计算出该int型数据在内存中存储时1的个数。
输入描述:
输入一个整数(int类型)
输出描述:
这个数转换成2进制后,输出1的个数
示例1
输入
5
输出
2
思路:int型转换为二进制,介绍一种方法:
Integer.toBinaryString
在Integer类中有静态方法toBinaryString(int i)
方法,此方法返回int变量的二进制表示的字符串。
同理,Integer类中也提供了toHexString(int i)
方法和toOctalString(int i)
方法来分别返回int变量的16进制表示和8进制表示字符串。
import java.util.*; public class Main{ public static void main(String[] args){ Scanner sc=new Scanner(System.in); while(sc.hasNext()){ int a=sc.nextInt(); String b=Integer.toBinaryString(a); int count=0; for(int i=0;i<b.length();i++){ if(b.charAt(i)=='1'){ count++; } } System.out.print(count); } } }