位运算?

B2001 入门测试题目

位运算加法,打错了
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


|