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

相关推荐
SmartRadio10 分钟前
MK8000(UWB射频芯片)与DW1000的协议适配
c语言·开发语言·stm32·单片机·嵌入式硬件·物联网·dw1000
guygg8811 分钟前
基于捷联惯导与多普勒计程仪组合导航的MATLAB算法实现
开发语言·算法·matlab
fengfuyao98512 分钟前
遗传算法与粒子群算法求解非线性函数最大值问题
算法
LeetCode天天刷26 分钟前
【软件认证】比特翻转【滑动窗口】
算法
froginwe1126 分钟前
Rust 文件与 IO
开发语言
源代码•宸28 分钟前
Leetcode—1123. 最深叶节点的最近公共祖先【中等】
经验分享·算法·leetcode·职场和发展·golang·dfs
liulilittle29 分钟前
LIBTCPIP 技术探秘(tun2sys-socket)
开发语言·网络·c++·信息与通信·通信·tun
yyy(十一月限定版)29 分钟前
c++(3)类和对象(中)
java·开发语言·c++
s砚山s31 分钟前
代码随想录刷题——二叉树篇(十三)
数据结构·算法
落羽凉笙32 分钟前
Python基础(4)| 玩转循环结构:for、while与嵌套循环全解析(附源码)
android·开发语言·python