1.将两个二进制数相加看作不算进位的单纯相加和sum1和进位sum2相加的结果,保证sum1和sum2的进位为0。 2.sum1, sum2进位不为0的话就得再来一遍,直到进位=0. 3.不算进位就是0+0+0;0+1=1;1+0=1;1+1=0,也就是异或的结果——相同为0,不同为1。 4.进位就是两个数相与然后左移一位,因为只有1和1相与才会得到1,然后左移一位表示该位有进位,加在之前没算进位的数上就是两数和。 5.最后无进位num2=0, sum1就是num1, sum2就是num2=0,所以返回num1即可。 int Add(int num1,&...