按位非运算符 (~) 是一个一元运算符,它采用位模式并对每个位执行逻辑非运算。它用于反转操作数的所有位。有趣的是,对于任何整数 x,~x 都与 -(x + 1) 相同。
位 | ~位 |
---|---|
0 | 1 |
1 | 0 |
下面的示例描述了按位 NOT 运算符的工作原理:
528 -> 00000000000000000000001000010000 (in binary)
----------------------------------
-529 <- 11111111111111111111110111101111 (in binary)
使用按位 NOT 的代码运算符 (~) 如下:
public class MyClass {
public static void main(String[] args) {
int x = 528;
//按位非运算
int z = ~x;
//显示结果
System.out.println("x = "+ x);
System.out.println("z = "+ z);
}
}
上述代码的输出将是:
x = 528
z = -529