使用移位运算,将数字转换为对应的二进制,再计数其中1的个数
import java.util.Scanner; /** * @author lxg * @description 求int型正整数在内存中1的个数 * @date 2021/9/29 */ public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); int num = in.nextInt(); int count = 0; for (int i = 31; i >=0 ; i--) { int flag = (num & (1 << i))==0?0:1; if(flag==1){ count++; } //System.out.print(flag); } System.out.println(count); } }