//求两个数中不同的位的个数
#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;
}
【C语言】求两个数中不同的位的个数
最新推荐文章于 2022-04-04 22:25:35 发布