#include <stdio.h> int get_different(int x,int y) { int a =(x^y);//先计算所有差异位 int count = 0; for(int i =0;i<32;i++) { if((a>>i)&1)//再接着判断即可 count++; } return count; } int main() { int a =0; int b =0; scanf("%d %d",&a,&b); int ret = get_different(a,b); printf("%d",ret); }
#include <stdio.h> int compare(int a,int b) { int count = 0; for (int i = 0; i < 32; i++) { int x = a & (1 << i); int y = b & (1 << i); if (x != y) count++; } return count; } int main() { int a, b; while (scanf("%d %d", &a, &b) != EOF) { int count = compare(a, b); printf("%d\n", count); } return 0; }