求int型正整数在内存中存储时1的个数(进制转换与读取二进制每一位)

来源:互联网 发布:大学生数据统计分析 编辑:程序博客网 时间:2024/06/07 00:54

1.题目

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

2.知识点

读取二进制数的每一位

1.把int类型的数转换成任意进制Integer

public staticStringtoBinaryString(int i)以二进制(基数 2)无符号整数形式返回一个整数参数的字符串表示形式。

2.String的成员函数
public char[] toCharArray()将此字符串转换为一个新的字符数组。

3.代码

package huaweijishi;import java.util.Arrays;import java.util.Scanner;public class string_practice {public static void main(String[] args) {// TODO 自动生成的方法存根        Scanner sc = new Scanner(System.in);        while (sc.hasNext()) {           int n=sc.nextInt();           char[] c=Integer.toBinaryString(n).toCharArray();           int count=0;          for(int i=0;i<c.length;i++){          if(c[i]=='1'){          count++;          }          }          System.out.println(count);        }    }}


阅读全文
0 0
原创粉丝点击