gpt4 book ai didi

c++ - 这个方程如何 x + y = x & y + x | y 成立(假设 x, y > 0)?

转载 作者:行者123 更新时间:2023-12-01 14:34:02 25 4
gpt4 key购买 nike

我最近参加了一个代码力量竞赛。在比赛的编辑部分,我看到了按位运算符之间的一种美妙关系,即 x + y = x & y + x |是的我还不知道证据。我拿了几个数字来看看这个等式是否正确。我很高兴知道这个证明。我在网上查了一下,没有找到任何有意义的引用资料。请帮我找到证据,或者至少给我这个美丽方程式背后的直觉。提前致谢

最佳答案

假设您正在执行 a + b

请注意,将 a 的第 i 个数字(从最右边的数字开始计数)与 b 的第 i 个数字交换不会影响总和。示例: 123 + 456 == 156 + 423 。无论基数的选择如何,这都有效,因此它也适用于二进制加法。

接下来,请注意从 a + ba&b + a|b 的转换可以通过以上述方式(二进制)交换一些数字来完成。如果 a[i] == 1b[i] == 0 ,则交换 a[i]b[i] ;之后, a 变成 a&bb 变成 a|b 。因此这种转变不会影响结果。

关于c++ - 这个方程如何 x + y = x & y + x | y 成立(假设 x, y > 0)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62470082/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com