牛客网刷题 ——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;
}
相关推荐
Java后端的Ai之路16 分钟前
03、Python - 抽象工厂模式
开发语言·python·设计模式·抽象工厂模式·通用智慧
吴声子夜歌17 分钟前
Java——开发中通用的方法和准则(一)
java·开发语言
常驻客栈35 分钟前
B-深入理解计算机系统第3版之第11章:网络编程
开发语言·笔记·学习笔记·常驻客栈·深入理解计算机系统
旧梦952740 分钟前
Java 单例模式:从基础到实战的完整指南
java·开发语言·单例模式
小小晓.1 小时前
C++ 值类别与完美转发深度剖析:从左值右值到 std::forward 源码解密
开发语言·c++·算法
格林威2 小时前
C# 相机Burst模式图像采集:使用相机内存配合OpenCvSharp和Halcon实现短时间的高速采集的方法
开发语言·人工智能·数码相机·计算机视觉·c#·视觉检测·工业相机
chen<>2 小时前
C++ 六种 memory_order:从原子性到线程间可见性.md
java·linux·开发语言·c++
一直C2 小时前
Linux系统编程|进程间通信IPC全套详解(1)(管道、信号)
linux·c语言·开发语言·网络·青少年编程·visual studio code
春风解人意2 小时前
从零开始学习嵌入式P28----线程
c语言·学习·算法
m0_734571762 小时前
深入理解C++ 类型转换<三>const_cast
开发语言·c++