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

本博文源于笔者正在思考的如何用递归进行计算两数之和。读者一般都会想到用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)
相关推荐
jllllyuz几秒前
基于MATLAB的PAM通信系统仿真实现
开发语言·matlab
qq_4480111610 分钟前
python中的内置globals()详解
开发语言·python
悠哉清闲22 分钟前
Future
java·开发语言·kotlin
爱编码的小八嘎23 分钟前
第1章 程序点滴-1.3 正确的入门方法(3)
c语言
deepxuan1 小时前
Day2--python三大库-numpy
开发语言·python·numpy
AD钙奶-lalala1 小时前
Android编译C++代码步骤详解
android·开发语言·c++
中科三方1 小时前
域名注册后无法解析解决方法:技术故障排查和解决指南
开发语言·github·php
极客先躯1 小时前
高级java每日一道面试题-2025年7月02日-基础篇[LangChain4j]-什么是 AiServices?它是如何简化 LLM 应用开发的?
java·开发语言
浅念-2 小时前
C++ :类和对象(4)
c语言·开发语言·c++·经验分享·笔记·学习·算法
lly2024062 小时前
Docker 安装 Python
开发语言