使用 XOR 和 AND 门的整数总和

Sum of integers using XOR, AND gates

如何在不使用 SHIFT 运算符(也不使用算术运算符)的情况下使用按位 NOT、XOR、AND 和 OR 运算符计算两个整数之和?可能吗?

示例 C 代码:

int a = 5;
int b = 11;
int c = a ^ b;
int d = a & b;
int sum = ...

我们取 a = b = 1。这个总和的结果是sum = 2。输入的二进制表示是 00000001(为简单起见,我们使用 8 位)。输出为 00000010。您可以轻松获得最低有效位,LSB = a0 XOR b0,但要修改位号 1,您需要移位。