//编程实现:
//两个int(32位)整数m和n的二进制表达式中,有多少个位(bit)不同。
#include<stdio.h>
#include<stdlib.h>
int count_one_bits(int n)
{
int count = 0 ;
while(n)
{
n = n&(n-1);
count ++;
}
return count;
}
int main()
{
int ret = 0;
int m = 10;
int n = 20;
int a = 0;
printf("请输入两个int整数\n");
scanf("%d %d",&m,&n);
//变量定义需放在当前代码的最前面,就是所有的int都的放在最前面
a = m^n;
/*int ret = count_one_bits(a);*/
//重复定义int ret与int ret = 0
ret = count_one_bits(a);
printf("%d\n",ret);
system("pause");
return 0 ;
}
//两个int(32位)整数m和n的二进制表达式中,有多少个位(bit)不同。
#include<stdio.h>
#include<stdlib.h>
int count_one_bits(int n)
{
int count = 0 ;
while(n)
{
n = n&(n-1);
count ++;
}
return count;
}
int main()
{
int ret = 0;
int m = 10;
int n = 20;
int a = 0;
printf("请输入两个int整数\n");
scanf("%d %d",&m,&n);
//变量定义需放在当前代码的最前面,就是所有的int都的放在最前面
a = m^n;
/*int ret = count_one_bits(a);*/
//重复定义int ret与int ret = 0
ret = count_one_bits(a);
printf("%d\n",ret);
system("pause");
return 0 ;
}