#include <stdio.h> int main() { int a = 0; int b = 0; scanf("%d%d",&a,&b); int c = a ^ b; int count = 0; while(c) { c = c & (c-1); count++; } printf("%d",count); return 0; }
n = n & (n-1) 是计算_一个整数储存在内存中的二进制中1的个数 _的绝妙方法