题解 | #求int型正整数在内存中存储时1的个数#
求int型正整数在内存中存储时1的个数
http://www.nowcoder.com/practice/440f16e490a0404786865e99c6ad91c9
/**
把一个整数减去1和原来的整数做位与运算,得到的结果相当于把整数的二进制位的最右边的1变成0.
1的二进制位是01, 其他的位补0,
与运算规则 0
**/
import java.util.Scanner; public class Main { public static void main(String[] args){ Scanner in = new Scanner(System.in); int n = in.nextInt(); int count =0; while(n!=0){ n = n&(n-1); count++; } System.out.print(count); } }