在此 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 许可协议
15 回答8.4k 阅读
8 回答6.2k 阅读
1 回答4k 阅读✓ 已解决
3 回答6k 阅读
3 回答2.2k 阅读✓ 已解决
2 回答3.1k 阅读
2 回答3.8k 阅读
波浪号 (
~
) 在 Java 中执行数值的按位补码。请参阅: 按位补码 (
~
):反转数字中的 1 和 0