写一个函数,求两个整数之和,要求在函数体内不得使用 “+”、“-”、“*”、“/” 四则运算符号
解题思路
观察 a + b 当a, b取值分别为0, 1时非进位和和进位的情况 a b 非进位和 进位 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 进位 = (a & b) << 1, 非进位和 = a ^ b
代码
class Solution {
public int add(int a
, int b
) {
while (b
!= 0) {
int c
= (a
& b
) << 1;
a
= a
^ b
;
b
= c
;
}
return a
;
}
}