不用加减乘除做加法
非常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); }
执行结果:
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步