【C语言】求两个数中不同的位的个数

//求两个数中不同的位的个数
#include <stdio.h>
int count_different(int a, int b)
{
int count = 0;
int c = a^b; //a,b中不同的位即为1
while (c)
{
count++;
c = c&(c - 1); //把c中最后一个1去掉
}
return count;
}
int main()
{
printf("%d\n", count_different(3,8)); //3
printf("%d\n", count_different(0, 6)); //2
printf("%d\n", count_different(-1,1)); //31
return 0;
}
上一篇:【iCore2 模块相关资料】iM_LAN 100M 以太网模块UDP例程


下一篇:使用NeatUpload控件实现ASP.NET大文件上传