题解 | #求int型正整数在内存中存储时1的个数#
求int型正整数在内存中存储时1的个数
https://www.nowcoder.com/practice/440f16e490a0404786865e99c6ad91c9
2、位运算!!!!
import java.util.Scanner; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); //位运算 //>>与>>>之间的区别: //>> 是指有符号位移。 (就是区分一个数字的正负在进行移动); //>>> 是指无符号位移。 (就是会无视一个数字是正是负,进行统一规则的运算)。 int num = in.nextInt(); int count = 0; //int整形 32位 for(int i = 0; i < 32; i++){ if((num & 1) == 1){ count++; } num = num >> 1; } System.out.println(count); } }