在 Sybase 中使用 &, ~ 进行逻辑计算



我正在执行以下语句。

选择10&〜3。这使输出为8选择10&〜5。这使输出为10选择10&〜2。这使输出为8

任何人都可以解释此背后的逻辑吗?

这是位操作,〜是逆操作。

3 is the same as 0011 in binary, and inverse of that is 1100
2 is the same as 0010 in binary, and inverse of that is 1101
5 is the same as 0101 in binary, and inverse of that is 1010
10 is the same as 1010 in binary.
10 & ~3 => 1010 & 1100 = 1000 => 8
10 & ~5 => 1010 & 1010 = 1010 => 10
10 & ~2 => 1010 & 1101 = 1000 => 8

钻头适用于

您也可以在十进制中思考,但是您也必须以二进制的心态(序列1、2、4、8、16、32、64、128 ...(。10由" 8 | 2"和3组成,由" 1 | 2"组成。倒数为3仅是" 1 | 2"。10和3之间的常见部分是2,因此您将拥有10个不在3中的所有零件,因此给了我们8。

相关内容

  • 没有找到相关文章

最新更新