不用加减乘除做加法
非常easy想到为二进制的与或非。
加法分为三步:
1 各位相加不进位 0 + 0 =0, 0+1 = 1,1+0=1,1+1=1,非常明显是异或运算
2 进位 1+1 =10进位,其余均不进位 。进行左移动一位
3 一直循环
代码:
#include <iostream> using namespace std; int sum(int data1,int data2){ int sum,carry; do{ sum = data1 ^ data2; carry = (data1 & data2)<<1; data1 = sum; data2 = carry; }while(carry != 0); return data1; } void main(){ cout <<sum(6,7); }
执行结果:
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步