牛客网刷题 ——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;
}
相关推荐
Logic10117 分钟前
C语言/数据结构滑动窗口题解:替换k个字符后的最长连续相同字符子串(LeetCode 424)
c语言·数据结构·字符串·滑动窗口·时间复杂度·频率统计·算法题
逆向编程1 小时前
QGIS地图投影(CRS坐标参照系)设置
开发语言
free-elcmacom1 小时前
发际线警告!手撕《C陷阱与缺陷》终极 BOSS:signal 函数与 typedef 魔法
c语言·开发语言·visual studio code·visual studio
程序员阿鹏1 小时前
简单介绍一下软引用
java·开发语言·jvm·数据结构·后端
haluhalu.2 小时前
初识 Protobuf:微服务跨语言通信的一份契约
java·c语言·开发语言·c++·python
孙启超2 小时前
【AI开发之Rust】第 12 课:并发模型与同步原语
开发语言·后端·rust
临期冰淇淋3 小时前
Unisoc 展锐平台Camera摄像头分辨率适配
linux·c语言·驱动开发
敲代码的瓦龙3 小时前
Jetpack?DataBinding!!!
android·java·开发语言·mysql·android-studio
爱奥尼欧3 小时前
【C++】map、set 的底层是什么?红黑树五条性质、插入旋转到模拟实现
开发语言·数据结构·c++