题解 | #两个整数二进制位不同个数#

两个整数二进制位不同个数

https://www.nowcoder.com/practice/16e48900851646c0b2c6cdef9d7ea051

#include <stdio.h>
int main()
{
	int n,m;
	scanf("%d %d", &n,&m);
	int i = 0;
	int num = 0;
	int arr1[32] = { 0 };
	int arr2 [32] = { 0 };
	for (i = 0; i < 32; i++)
	{
		num = 1 & (n >> i);
		arr1[i] = num;
		//printf("%d ", num);
	}
	int j = 0;
	int num1 = 0;
	for (j = 0; j < 32; j++)
	{
		num1 = 1 & (m >> j);
		arr2[j] = num1;
		//printf("%d ", num1);
	}
	int count = 0;
	j = 0;
	for (i = 0; i < 32; i++)
	{
		while (j < 32)
		{
			if (arr1[i] != arr2[j])
			{
				count++;
			}
			j++;
			break;
		}
	}
	printf("%d", count);
	return 0;
}

全部评论

相关推荐

01-07 11:46
Java
如图:也是让我遇到逆天公司了,实习生是按天给工资,不忙直接强制休假了
baskly:公司为北京超图软件股份有限公司武汉分公司,明年公司应该会招新实习生,刷到的小伙伴快跑
点赞 评论 收藏
分享
评论
2
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务