A=5, B=3
计算两个数字的总和,而不使用+运算符
当然,一个方法计算两个数字的和,不使用+运算符是使用以下方法:首先,我们可以计算A和B的比特式XOR.XOR操作给我们A和B的和,但不计算 carry-in值.在这种情况下,这将是5^3 = 6.结果 = A ^ B #110 ^ 011 = 101 #结果是5第二,我们计算 carry-in值,执行A和B之间的比特式AND操作,然后将结果移动一个位置到左边.在这种情况下,这将是 (5 & 3) << 1 = (0 000101 & 0011) << 1 = 1 << 1 = 0010 = 2. (A & B) 1 << 0101 & 00111 = 1 0001 = 0010是 carry 2 然后我们可以重复这个过程,直到我们没有更多 carry-in值.前一个结果是: 0 = A: 0!然后把结果移动到左边.在这个情况下,那就是 (5 & 3) << 1 = (0 000101 & 0011) << 1 = 1 = 0010 = 2. (A & B) 1 << 0101 & 00111 = 1 0001 = 1 0010 = 2 结果是 carry-in值,然后我们可以重复这个过程,直到我们没有更多 carry-in值.