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

相关推荐
小二·2 分钟前
Java基础教程之网络编程
java·开发语言·网络
乾元3 分钟前
多厂商配置对齐器:AI 如何在 Cisco / Huawei / Juniper 间做语义映射
运维·开发语言·网络·人工智能·网络协议·华为·智能路由器
熊文豪3 分钟前
使用Python快速开发一个MCP服务器
服务器·开发语言·python·mcp
兩尛4 分钟前
HJ98 喜欢切数组的红(dp
算法
leo_2324 分钟前
SMP(软件制作平台)语言基础知识简介之一
开发语言·smp(软件制作平台)·软件开发工具
言言的底层世界4 分钟前
c/c++基础知识点
开发语言·c++·经验分享·笔记
adam_life6 分钟前
【P4551 最长异或路径】
算法·bfs·01字典树
weixin_421133419 分钟前
PGN + SHield
开发语言
前进的李工13 分钟前
SQL排序与分页查询技巧
开发语言·数据库·sql·mysql·oracle
Bona Sun14 分钟前
单片机手搓掌上游戏机(二十二)—pico运行doom之固件和rom上传
c语言·c++·单片机·游戏机