微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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相同的位,所以将它们加在一起被保证不产生进位。

原文地址:https://www.jb51.cc/oracle/205941.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐