【11】不能使用四则运算求两个整数的和

简介: 题目:给定两个整数a和b,要求不能使用+、-、*、/四则运算求两个数的和 方案:1. 四则运算不能算的情况下,肯定只能借助位运算,所以应该考虑位运算            2.


题目:给定两个整数a和b,要求不能使用+、-、*、/四则运算求两个数的和


方案:1. 四则运算不能算的情况下,肯定只能借助位运算,所以应该考虑位运算

           2. 假设两个数的二进制位00101 和 10001,两个数相加的过程就是

               第一步:先把二进制的各位相加但不进位,10100;

               第二步:记下进位,00010

               第三步:把前两步的结果相加,得到10110

           3. 分析上述三个过程发现

               第一步实际上就是两个数的异或结果,0+0 = 0,0+1 = 1+0 = 1,1+1 = 0;

               第二步进位就是两个数&的结果再左移一位:(00101 & 10001) << 1 = 00010

               第三步是两数相加,和要求的一样可以递归进行,直到第二个数为0为止。

//循环求两个数的和
int GetSum(int num1, int num2){
    while(num2 != 0){
	    int sum = num1^num2;
	    int carry = (num1&num2)<<1;
	    num1 = sum;
	    num2 = carry;
    }
    return num1;
}

//递归求两个数的和
int GetSum(int num1, int num2){
	if(num2 == 0){
	    return num1;
	}
	int sum = num1^num2;
	int carry = (num1&num2)<<1;
	return GetSum2(sum, carry);
}

目录
相关文章
|
机器学习/深度学习 传感器 人工智能
纯视觉3D检测综述!一文详解3D检测现状、趋势和未来方向!(下)
基于图像的3D目标检测是自动驾驶领域的一个基本问题,也是一个具有挑战性的问题,近年来受到了业界和学术界越来越多的关注。得益于深度学习技术的快速发展,基于图像的3D检测取得了显著的进展。特别是,从2015年到2021年,已经有超过200篇研究这个问题的著作,涵盖了广泛的理论、算法和应用。然而,到目前为止,还没有一个调查来收集和组织这方面的知识。本文首次对这一新兴的不断发展的研究领域进行了全面综述,总结了基于图像的3D检测最常用的流程,并对其各个组成部分进行了深入分析。此外,作者还提出了两个新的分类法,将最先进的方法组织成不同的类别,以期提供更多的现有方法的系统综述,并促进与未来作品的公平比较。
纯视觉3D检测综述!一文详解3D检测现状、趋势和未来方向!(下)
|
机器学习/深度学习 人工智能 自然语言处理
超精准!AI 结合邮件内容与附件的意图理解与分类!⛵
借助AI进行邮件正文与附件内容的识别,可以极大提高工作效率。本文讲解如何设计一个AI系统,完成邮件内容意图检测:架构初揽、邮件正文&附件的理解与处理、搭建多数据源混合网络、训练&评估。
1532 2
超精准!AI 结合邮件内容与附件的意图理解与分类!⛵
QGS
|
监控 Oracle 安全
(centos7-x86)编译安装zabbix6.0LTS+Mariadb10.5+Apache+php7.4
记(centos7-x86)编译安装zabbix6.0LTS+Mariadb10.5+Apache+php7.4
QGS
635 0
(centos7-x86)编译安装zabbix6.0LTS+Mariadb10.5+Apache+php7.4
阿里云商标注册不下来也收费吗?分情况!商标不通过驳回退款说明
理论上提交商标注册申请到商标局,商标局会收取规费,注册失败也是不可以退款的。但是阿里云推出一个商标安心注册申请,购买的是这个服务的话,哪怕商标注册申请没通过,被商标局驳回了,阿里云与你风险共担,也是可以退全款的
1461 0
阿里云商标注册不下来也收费吗?分情况!商标不通过驳回退款说明
|
设计模式 JavaScript 前端开发
基于 Vue 2 与 高德地图 2.0 的“线面编辑器”
基于 Vue 2 与 高德地图 2.0 的“线面编辑器”
479 0
|
机器学习/深度学习
神经网络与深度学习---train_loss和val_loss(test_lost)分析
神经网络与深度学习---train_loss和val_loss(test_lost)分析
2740 2
|
SQL 机器学习/深度学习 人工智能
Flink 实战:如何解决应用中的技术难题?
倒计时 5 天!4月25-26日,全球首个 Apache 顶级项目在线会议 Flink Forward 精华版即将重磅开启。 Flink Forward 全球在线会议精华版均为中文直播,核心内容分为 Keynote 与社区投票的最感兴趣的 talk 两部分,由 Apache Flink 核心贡献者们对原版英文 talk 进行翻译及解说,您可直接免费在线观看。
Flink 实战:如何解决应用中的技术难题?
|
存储 Android开发 内存技术
使用AudioRecord和AudioTrack来录制和播放音频
使用AudioRecord和AudioTrack来录制和播放音频
1530 0
|
自然语言处理 前端开发 架构师
物联网行业招聘考核要素简析
以一个物联网项目公司的人事结构调整为例,伤经动骨的方式解决企业核心目标、人力资源与技术目标之间的矛盾。最后分享了案例中的一些关于企业招聘和人才自我建设的一些建议。本文十分主观,抛砖引玉,欢迎大家慎重参考。
2350 0
物联网行业招聘考核要素简析