/*
编程实现:
两个int(32位)整数m和n的二进制表达式中,有多少位(bit)不同?
输入例子:
1999 2299
输出例子: 7
*/
#include<stdio.h>
#include<stdlib.h>
//找不同bit位数量函数
int fnd_different_bit(int num1, int num2){
int num; //变量num用以保存两个参数的异或结果
int count = 0; //变量count用以记录不同bit为数量
num = num1 ^ num2; //变量num等于num1异或num2
for (int i = 0; i < 32; ++i){ //i从0遍历到31
if (num >> i & 1){ //若num右移i与1等于1
++count; //count加1
}
}
return count; //返回值是count
}
//主函数
int main(){
printf("%d\n",fnd_different_bit(1999, 2299)); //打印输出函数调用结果
system("pause");
return 0;
}