题解 | #求int型正整数在内存中存储时1的个数#
求int型正整数在内存中存储时1的个数
https://www.nowcoder.com/practice/440f16e490a0404786865e99c6ad91c9
import java.util.Scanner; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); scanner.useDelimiter("\n"); int num = 0; if (scanner.hasNextInt()) { num = scanner.nextInt(); } int res = 0; if (num==((1<<31)-1)) { System.out.println(31); return; } for (int i = 30; i >=0; i--) { if (num >= (1<<i)) { num-= (1<<i); res++; } } System.out.println(res); } }