The Problem is a simple carry-adder question in digital circuit;

```
class Solution {
public:
int getSum(int a, int b) {
int carry=a&b;
int result=a^b;
while(carry!=0){
int carry_t=carry<<1;
carry=carry_t&result;
result=result^carry_t;
}
return result;
}
};
```

However, I wonder is there anybody write it in carry-lookahead adder...