求int型正整数再内存中存储时1的个数

题目描述

输入一个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);
        }
    }
}

原文地址:https://www.cnblogs.com/hisoka-study/p/13535680.html