在此Java源代码中,我有以下代码行:if ((modifiers & ~KeyEvent.SHIFT_MASK) != 0) ....波浪号~是什么意思?
3 回答

RISEBY
TA贡献1856条经验 获得超5个赞
它是一元〜逐位补运算符(引用):
仅与整数值一起使用
反转位,即0位变为1位,反之亦然
在所有情况下〜x等于(-x)-1
另请参见Wikipedia上有关按位运算符的页面,该页面指出:
按位NOT或补码是一元运算,对每个位执行逻辑求反,形成给定二进制值的一个补码。0变成1,反之亦然。
例如:
NOT 0111 (decimal 7)
= 1000 (decimal 8)
在许多编程语言(包括C系列语言 )中,按位NOT运算符为“ ~”(代字号)。
添加回答
举报
0/150
提交
取消