371. Sum of Two Integers

来源:互联网 发布:上海女人护肤品 知乎 编辑:程序博客网 时间:2024/05/21 08:45

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) {        int carry = 0, num = 0, bita, bitb;        for(int i = 0; i < 32; ++i)        {            bita = a & (1<<i);            bitb = b & (1<<i);            carry = (carry<<i);            num |= bita ^ bitb ^ carry;            if((bita & bitb) || (bita & carry) || (bitb & carry))            carry = 1;            else            carry = 0;                    }        return num;    }};


0 0
原创粉丝点击