位运算-371.两整数之和-力扣(LeetCode)
一、题目解析
1、不使用+,-,运算符号,计算两整数之和
二、算法原理
解法:位运算
^异或操作符,除了a^a=0,a^0=a,(a^b)^c=(a^c)^b之外,^也叫做无进位加法
a^b计算无进位加法,(a&b)<<1计算进位(<<:为左移操作符,将所有二进制数,从右往左移动一位,空位加0)
三、代码示例
class Solution {
public:int getSum(int a, int b){while(b != 0){int c = (a&b)<<1;a ^= b;b = c;}return a;}
};
看到最后,如果对您有所帮助,还请点赞、收藏和关注,我们下期再见!