leetcode-两整数之和

 

 

class Solution {
public:
    int getSum(int a, int b) {
        while(b!=0){  // 进位为0的时候停止
            // 注意这个unsigned int 很重要
            unsigned int carry = (unsigned int) (a&b)<<1;  // 求出所有位的进位
            a = a ^ b;  // 不带进位的结果
            b = carry;   // 进位赋值给b,让不带进位的结果(a)再加上进位(b)
        }
        return a;
    }
};

 

posted @ 2021-09-26 21:03  三一一一317  阅读(24)  评论(0)    收藏  举报