编程实现:两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同?
输入例子 :
1999 2299
输出例子 : 7
#include <stdio.h>
int main() {
int num1 = 0, num2 = 0, count = 0;
printf("请输入两个整数:");
scanf("%d %d", &num1, &num2);
for (int i = 0; i < 32; i++) {
if (((num1 >> i) & 1 )!= ((num2 >> i) & 1))//num1和num2分别依次右移一位,&1等于原数值,再比较其值是否相等,相等则count++
count++;
}
printf("%d", count);
return 0;
}