LeetCode:Sum of Two Integers

来源:互联网 发布:c语言ide 轻便 编辑:程序博客网 时间:2024/04/28 15:48

//特别注意,这一题是关于位运算的典型问题
思想是分别处理相同位和不同位的二进制数,使用& 和 ^两个操作

&得到的结果是除以2后得到
^得到的则无需处理
Calculate the sum of two integers a and b, but you are not allowed to use the operator + and -.

Example:
Given a = 1 and b = 2, return 3.

class Solution {public:    int getSum(int a, int b) {        if(b==0)           return a;         int sum,carry;         sum = a^b;         carry = (a&b)<<1;         return getSum(sum,carry);    }};
0 0
原创粉丝点击