在此 Java 源代码中,我有这一行:
if ((modifiers & ~KeyEvent.SHIFT_MASK) != 0) ....
代字号 ~
是什么意思?
原文由 Martijn Courteaux 发布,翻译遵循 CC BY-SA 4.0 许可协议
在此 Java 源代码中,我有这一行:
if ((modifiers & ~KeyEvent.SHIFT_MASK) != 0) ....
代字号 ~
是什么意思?
原文由 Martijn Courteaux 发布,翻译遵循 CC BY-SA 4.0 许可协议
它是 一元 ~ 按位补码 运算符 (引用) :
另请参阅 维基百科上有关按位运算符的此页面,其中指出:
按位非或补码是一种一元运算,它对每一位执行逻辑非,形成给定二进制值的补码。原为 0 的数字变为 1,反之亦然。
例如:
NOT 0111 (decimal 7)
= 1000 (decimal 8)
在许多编程语言 (包括 C 系列语言) 中,按位 NOT 运算符是“
~
”(代字号)。原文由 Pascal MARTIN 发布,翻译遵循 CC BY-SA 3.0 许可协议
8 回答6.5k 阅读
4 回答688 阅读✓ 已解决
2 回答3.4k 阅读
3 回答1.9k 阅读✓ 已解决
1 回答2.1k 阅读✓ 已解决
1 回答2.1k 阅读✓ 已解决
1 回答962 阅读✓ 已解决
波浪号 (
~
) 在 Java 中执行数值的按位补码。请参阅: 按位补码 (
~
):反转数字中的 1 和 0