a+b 不用+号实现
public int add( int a,int b){
if(0 == b)
return a;
int cxor = a^b; // 0000 1111 0000 1010 0000 0101 0001 1001
int cand = a&b; // 0000 1010
return add(cxor, cand<<1);
}
解释 : 异或不进位加法。 与 为 标记 需要进位的, 只需要与 向左移 一位 再与 异或 相加即可。但是不能用加号 所以递归循环直到进位值为0;
浙公网安备 33010602011771号