输入一个 int 型的正整数,计算出该 int 型数据在内存中存储时 1 的个数。
数据范围:保证在 32 位整型数字范围内
public static void main(String[] args) { Scanner in = new Scanner(System.in); int num = in.nextInt(); int count = num & 1; for (int i = 0; i < 7; i++) { int temp=(num >>>=1) & 1; // count = count + (num >>>=1) & 1 ; count = count + temp ; } System.out.println(count); }
System.out.println(Integer.toBinaryString(new Scanner(System.in).nextInt()).chars().filter(ch -> ch == '1').count()); 就是玩
import java.util.Scanner; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); // 注意 hasNext 和 hasNextLine 的区别 while (in.hasNextInt()) { // 注意 while 处理多个 case int a = in.nextInt(); int count=0; while(a!=0){ a=a&(a-1); count++; } System.out.println(count); } } }
public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); // 注意 hasNext 和 hasNextLine 的区别 while (in.hasNextInt()) { // 注意 while 处理多个 case int num = in.nextInt(); System.out.println(Integer.bitCount(num)); } } }方法二:
public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); // 注意 hasNext 和 hasNextLine 的区别 while (in.hasNextInt()) { // 注意 while 处理多个 case int num = in.nextInt(); String s = Integer.toBinaryString(num); String s1 = s.replaceAll("0", ""); System.out.println(s1.length()); } } }方法三:
public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); // 注意 hasNext 和 hasNextLine 的区别 while (in.hasNextInt()) { // 注意 while 处理多个 case int num = in.nextInt(); int count = 0; while(num>0){ if(num%2==1){ count++; } num = num>>>1; } System.out.println(count); } } }
import java.util.Scanner; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); // 注意 hasNext 和 hasNextLine 的区别 String str=Integer.toBinaryString(in.nextInt()); int sum=0; for(int i=0;i<str.length();i++){ if(str.charAt(i)=='1'){ sum++; } } System.out.print(sum); } }
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); int num = in.nextInt(); int count = 0; while(num!=0){ double t = 1; for(int i=0;num>=Math.pow(2,i);i++){ t = Math.pow(2,i); } count++; num=num%(int)t; } System.out.println(count); } }