【已解决】如何用递归实现位运算计算两数之和

本博文源于笔者正在思考的如何用递归进行计算两数之和。读者一般都会想到用while循环进行操作,位运算两数之和的思想就犹如辗转相除法。文章并附加了对这个方法的流程演示

问题来源

想要用递归实现两数之和。

代码实现

cpp 复制代码
#include<stdio.h>
int add(int num1, int num2) {

	if (num2 == 0)
		return num1;
	else {
		return add(num2^num1, (num2&num1)<<1);
	}
}
int main() {
	printf("%d", add(3, 5));
	getchar();
}

实现结果

以3+5为例演示代码

代码进行,add(3,5)传入进去

  • 第一次计算add(6,2)
  • 第二次计算add(4,4)
  • 第三次计算add(0,8)
  • 第四次计算add(8,0)
相关推荐
如竟没有火炬13 小时前
寻找峰值——二分
java·开发语言·数据结构·python·算法·散列表
C^h13 小时前
6轴达妙机械臂
c语言
JAVA社区14 小时前
Java高级全套教程(十三)—— 分布式锁超详细实战详解(原理+三种方案企业级落地)
java·开发语言·分布式·spring cloud·面试·java-zookeeper
超梦dasgg14 小时前
Java 生产环境 Maven 实战指南
java·开发语言·maven
叶子野格14 小时前
《C语言学习:位运算》17
c语言·开发语言·c++·学习·visual studio
RSTJ_162514 小时前
PYTHON+AI LLM DAY SIXTY-FOUR
开发语言·python
覆东流15 小时前
Java开发环境搭建
java·开发语言·后端
阿洛学长15 小时前
VMware安装虚拟机教程(超详细)
java·linux·开发语言
rit843249915 小时前
链路预测(Link Prediction)MATLAB 实现
开发语言·matlab
jiayong2315 小时前
01 检查 Python 版本与环境
开发语言·python