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

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

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

#include <stdio.h>

int count_different_bits(int num1, int num2) {
	int count = 0;
	int xor_result = num1 ^ num2; // 使用异或操作得到不同的位

	// 计算不同位的数量
	while (xor_result) {
		count += xor_result & 1; // 如果最低位为1,则计数加1
		xor_result >>= 1; // 向右移动一位,检查下一位
	}

	return count;
}

int main() {
	int num1, num2;
	scanf("%d %d", &num1, &num2);

	int different_bits = count_different_bits(num1, num2);
	printf("%d\n", different_bits);

	return 0;
}

全部评论

相关推荐

ResourceUtilization:我嘞个董事长
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务