求int型正整数在内存中存储时1的个数
程序员文章站
2022-07-13 13:21:38
...
题目描述
功能: 输入一个int型的正整数,计算出该int型数据在内存中存储时1的个数。
输入描述:
输入一个整数(int类型)
输出描述:
这个数转换成2进制后,输出1的个数
示例:
输入: 5
输出: 2
思路:当给定数不为零,如果给定数和1与运算等于1,计数加;给定数右移1位;
代码:
import java.util.*;
public class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
while(sc.hasNext()){
int count = 0;
int i = sc.nextInt();
while(i != 0){
if((i & 1) == 1) count++;
i >>= 1;
}
System.out.println(count);
}
sc.close();
}
}