oracle – 为什么(a | b)相当于 – (a&b)b?

前端之家收集整理的这篇文章主要介绍了oracle – 为什么(a | b)相当于 – (a&b)b?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在寻找一种使用Oracle数据库进行BITOR()的方法,并且提出了使用BITAND()替换BITOR(a,b)与b-BITAND(a,b)的建议。

我用手测试了几次,并验证它似乎适用于我可以想到的所有二进制数,但是我不能想出快速的数学证明,为什么这是正确的。
有人可以启发我吗?

A& B是A和B中的一组位。A – (A& B)给你留下只有A中的所有位。添加B,并获得所有位在A中或在B中。

简单的添加A和B将无法工作,因为携带的地方都有1位。通过首先去除A和B共有的位,我们知道(A-(A& B))将不具有与B相同的位,所以将它们加在一起被保证不产生进位。

猜你在找的Oracle相关文章