#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; }
时间: 2024-11-07 12:08:28