//编程实现:
//两个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 ;
}
本文介绍了一个简单的C语言程序,用于计算两个32位整数在二进制表示下不同的位数。通过使用异或运算和位操作技巧,程序能够高效地找出两数之间的差异。
477

被折叠的 条评论
为什么被折叠?



