题解 | #求int型正整数在内存中存储时1的个数#

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

https://www.nowcoder.com/practice/440f16e490a0404786865e99c6ad91c9

描述

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

数据范围:保证在 32 位整型数字范围内

输入描述:

 输入一个整数(int类型)

输出描述:

 这个数转换成2进制后,输出1的个数
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int num = scanner.nextInt();
        int n = -1;
        int count = 0;
        boolean loop = true;
        while (loop) {
            n = num % 2;// 余数
            if (n == 1) {// 余数等于1,就计一个数
                count++;
            }
            num = num / 2;// 得到的除数
            if (num == 0) {// 除数等于0,就结束。
                loop = false;
            }
        }
        System.out.println(count);
    }
}
全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务