21得票4回答
为什么 (a | b) 相当于 a - (a & b) + b?

我正在寻找在Oracle数据库中执行BITOR()的方法,偶然发现建议使用BITAND()来替代BITOR(),具体操作是将BITOR(a,b)替换为a + b - BITAND(a,b)。 我手动验证了几次,似乎对我能想到的所有二进制数都有效,但我无法快速想出为什么这是正确的数学证明。 能...