您的位置:首页 > 其它

两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同?

2015-12-28 10:44 330 查看
#include<stdio.h>
#include<stdlib.h>
int bit_dif(int a, int b)
{
int i = 0;
int ret = 0;
int num = 0;
ret = a^b;
while (ret)
{
num++;
ret = ret&(ret - 1);
}
return num;
}
int main()
{
int count = 0;
int num1 = 0;
int num2 = 0;
printf("请输入两个数:\n");
scanf_s("%d %d",&num1,&num2);
count = bit_dif(num1, num2);
printf("%d\n", count);
system("pause");
return 0;
}

结果:
请输入两个数:
1999 2299
7
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息