当前位置: 首页 > article >正文

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

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

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

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


http://www.kler.cn/a/152105.html

相关文章:

  • VUE2+THREE.JS辉光设定和解决辉光导致背景变暗的问题
  • 2分图匹配算法
  • web:catcat-new(文件包含漏洞、flask_session伪造)
  • 和鲸科技与国科环宇建立战略合作伙伴关系,以软硬件一体化解决方案促进科技创新
  • 在CentOS 7.9上搭建高性能的FastDFS+Nginx文件服务器集群并实现外部远程访问
  • C#常见的设计模式-创建型模式
  • sql中的left join, right join 和inner join,union 与union all的用法
  • Redis未授权访问-CNVD-2019-21763复现
  • python+pytest接口自动化(5)-requests发送post请求
  • 运行启动vue项目报报错node: --openssl-legacy-provider is not allowed in NODE_OPTIONS解决
  • 二、shell编程快速入门
  • 7.23 SpringBoot项目实战【评论】
  • 嵌入式硬件基础知识——1
  • golang 集成logrus日志框架
  • 微服务实战系列之Nginx(技巧篇)
  • AI落地现状:没有mission、业务零碎、连2B还是2C都在摇摆
  • 制造企业建设数字工厂管理系统的难点主要有哪些
  • qt 5.15.2 的编译部署quazip-0.7.3项目过程
  • JSP+servlet实现高校社团管理系统
  • Intellij IDEA 的安装和使用以及配置