C语言第四十弹---两个整数二进制位不同的个数

C语言求两个整数二进制位不同的个数

遍历法,使用循环获取每一位二进制位数,并让二进制位与1比较,如果相同则忽略,不同则个数增加。

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

int main()
{
	int a = 0;
	int b = 0;
	int count = 0;
	scanf("%d %d",&a,&b);
	for (int i = 0; i < 32; i++)
	{
		if (((a >> i) & 1) != ((b >> i) & 1))//使用>>获取32为二进制位,分别与1比较,两者不证明不同
		{
			count++;
		}
	}

	printf("%d",count);
	return 0;
}

其中判断是否相等也可以使用(((a>>i)^(b>>i))==1)判断。

相关推荐
Ayanami_Reii2 分钟前
基础数据结构应用-一个简单的整数问题
数据结构·算法·树状数组·fenwick tree
Yu_Lijing9 分钟前
【个人项目】C++基于websocket的多用户网页五子棋(上)
开发语言·c++·websocket
脏脏a9 分钟前
【初阶数据结构】栈与队列:定义、核心操作与代码解析
c语言·开发语言
济宁雪人10 分钟前
Java安全基础——序列化/反序列化
java·开发语言
q***017711 分钟前
Java进阶--IO流
java·开发语言
lsx20240611 分钟前
C语言中的枚举(enum)
开发语言
Ayanami_Reii15 分钟前
进阶数据结构应用-一个简单的整数问题2(Fenwick-Tree 解法)
数据结构·算法·前缀和·差分·树状数组·fenwick tree
老黄编程16 分钟前
点云生成深度图的原理及算法步骤和参数详细说明
数学·算法·点云·深度图
csbysj202016 分钟前
PHP Math
开发语言
小画家~18 分钟前
第三十四:golang 原生 pgsql 对应操作
android·开发语言·golang