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

相关推荐
Ghost-Silver3 分钟前
《星火》——关于Deepseek的进化速度
笔记·算法
葡萄成熟时 !21 分钟前
黑马学生管理系统
java·开发语言
秋邱23 分钟前
高等教育 AI 智能体的 “导学诊践” 闭环
开发语言·网络·数据库·人工智能·python·docker
云雾J视界30 分钟前
从位运算到状态机:用纯C重构红外/DS18B20/I²C协议,告别“黑盒库“的嵌入式实战指南
c语言·数据库·重构
j***630837 分钟前
MacOS升级ruby版本
开发语言·macos·ruby
g***86691 小时前
PHP进阶-在Ubuntu上搭建LAMP环境教程
开发语言·ubuntu·php
合作小小程序员小小店1 小时前
桌面开发,拼车管理系统开发,基于C#,winform,sql server数据库
开发语言·数据库·sql·microsoft·c#
代码游侠3 小时前
日历的各种C语言实现方法
c语言·开发语言·学习·算法
草莓熊Lotso3 小时前
unordered_map/unordered_set 使用指南:差异、性能与场景选择
java·开发语言·c++·人工智能·经验分享·python·网络协议