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)判断。

相关推荐
RTC老炮12 小时前
webrtc降噪-WienerFilter源码分析与算法原理
算法·webrtc
天马行空-12 小时前
ES 精准匹配 和 模糊查询的实现方式
java·开发语言
Z***258013 小时前
Java计算机视觉
java·开发语言·计算机视觉
Tiger_shl13 小时前
SqlConnection、SqlCommand 和 SqlDataAdapter
开发语言·数据库·c#
一点事13 小时前
ruoyi:集成mybatisplus实现mybatis增强
java·开发语言·mybatis
hweiyu0013 小时前
数据结构:数组
数据结构·算法
你的冰西瓜13 小时前
C++14 新特性详解:相较于 C++11 的主要改进
开发语言·c++·stl
linksinke13 小时前
Mapstruct引发的 Caused by: java.lang.NumberFormatException: For input string: ““
java·开发语言·exception·mapstruct·numberformat·不能为空
无限进步_13 小时前
C语言单向链表实现详解:从基础操作到完整测试
c语言·开发语言·数据结构·c++·算法·链表·visual studio
初夏睡觉13 小时前
循环比赛日程表 题解
数据结构·c++·算法