题目:如5的二进制是101,17的二进制10001。还是试着把计算分成三步:第一步各位相加但不计进位,得到的结果是10100(最后一位两个数都是1,相加的结果是二进制的10。这一步不计进位,因此结果仍然是0);第二步记下进位。在这个例子中只在最后一位相加时产生一个进位,结果是二进制的10;第三步把前两步的结果相加,得到的结果是10110,正好是22。由此可见三步走的策略对二进制也是管用的
<span style="font-family: 宋体; ">#include <iostream></span>
using namespace std; int Add(int num1,int num2) { if (num2==0) { return num1; } int sum=num1^num2; int theone=(num1&num2)<<1; int result=0; result=Add(sum,theone); return result; } int main() { int a=7; int b=15; int sum=0; sum=Add(a,b); cout<<sum<<endl; return 0; }