题解 | #求int型正整数在内存中存储时1的个数#
求int型正整数在内存中存储时1的个数
https://www.nowcoder.com/practice/440f16e490a0404786865e99c6ad91c9
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int num = scanner.nextInt();
scanner.close();// Scanner 对象从控制台读取输入后,及时关闭它可以避免资源泄漏
int count = 0;
while (num!= 0) {
count += num & 1;//先按位与运算,它将变量 num 与数字 1 进行按位与操作。如果 num 是奇数,结果为 1;如果 num 是偶数,结果为 0。例如,当 num = 5(二进制为 101)时,5 & 1 的结果为 1;当 num = 6(二进制为 110)时,6 & 1 的结果为 0。
num >>>= 1;//在 Java 中是无符号右移赋值操作。
}
System.out.println(count);
}
}
腾讯成长空间 5981人发布