C++不使用+-*/做加法.

来源:互联网 发布:薛之谦最新回应 知乎 编辑:程序博客网 时间:2024/05/01 19:15
#include <iostream>using namespace std;int Add(int sum1,int sum2){if(sum2==0)return sum1;int temp = sum1^sum2;//sum1与sum2异或求求出不同的位并置一。int save = (sum1&sum2)<<1;//sum1&sum2求出相同位,全部左移一位,因为会//产生进位,将产生进位的左移之后再与不同位的结果temp,如此循环,直到所有位置都不会产生进位之后//,temp才是最终结果. return Add(temp,save);}int main(){cout<<Add(233,4)<<endl;return 0;}

2 0