牛客网刷题 ——C语言初阶(5操作符)——OR76 两个整数二进制位不同个数

1. 牛客网题目:OR76 两个整数二进制位不同个数

牛客网OJ链接

描述:

输入两个整数,求两个整数二进制格式有多少个位不同

输入描述:两个整数

输出描述:二进制不同位的个数

示例1

输入:22 33

输出:5

2.思路

不同的个数,想起来咱操作符有一个异或,相同为0 ,相异为1 ,让两个二进制数,异或,得到的二进制结果求其中1的个数,就是不同位的个数。

3. 代码实现

c 复制代码
#include <stdio.h>

int main() {
   	int a = 0; 
	int b = 0;
	int count = 0;
	while (scanf("%d %d", &a, &b) != EOF)
	{
		int c = 0;
		c = a ^ b;
		int i = 0;
		
		for (i = 0; i < 32; i++) 
		{
			if (c & (1 << i))
			{
				count++;
			}
		}
	}
	
	printf("%d ", count);
    return 0;
}
相关推荐
冉卓电子9 小时前
MPC5604B/C eMIOS 高级定时器全解
c语言
এ慕ོ冬℘゜9 小时前
JS 前端基础面试题
开发语言·前端·javascript
浩少7029 小时前
【无标题】
java·开发语言
nnsix9 小时前
C# 字符串 根据换行符分割
开发语言·c#
Vallelonga9 小时前
Rust Conversion 工具 trait AsRef AsMut
开发语言·rust
Vallelonga9 小时前
Rust 中的“解引用”和智能指针与 MutexGuard 等
开发语言·rust
小鱼仙官9 小时前
Windonws 视频存储,10s/不限时
开发语言·qt·音视频
csbysj20209 小时前
框架:构建高效解决方案的基石
开发语言
轻颂呀10 小时前
C++11——并发库介绍
开发语言·c++
AKA__Zas10 小时前
初识多线程(3.0)
java·开发语言·学习方法