位运算加法,打错了
by Runtime_Error754 @ 2023-06-22 18:33:57
超前进位加法器![](//图.tk/e)
by 岂非 @ 2023-06-22 18:35:08
这就是你发这题下面的理由?
by Loser_Syx @ 2023-06-22 18:40:16
@[wanjiayang](/user/762928) 如果都是1将并的结果左移一位递归相加就好了
by LiJoQiao @ 2023-06-22 19:07:04
```cpp
#include<iostream>
using namespace std;
typedef long long ll;
ll add(ll x,ll y)
{
if(x==0)return y;
else if(y==0)return x;
ll a=x^y,b=(x&y)<<1;
return add(a,b);
}
int main()
{
ll a,b;
cin>>a>>b;
cout<<add(a,b);
return 0;
}
```
by LiJoQiao @ 2023-06-22 19:09:38
nandgame里好像有,不太记得了(
by Jorisy @ 2023-06-22 19:23:57
@[wanjiayang](/user/762928) ~^&|这些二元位运算不能实现出来加法运算器的。至少要移位,加法器在每一 bit 上需要判断至多 3 个 bit 的内容。你可以去下个游戏 _Turing Complete_(《图灵完备》) 来玩玩。
by Terrible @ 2023-06-22 20:32:40