按位 NOT 运算符 (~) 是一个一元运算符,它采用位模式并对每个位执行逻辑 NOT 运算。它用于反转操作数的所有位。有趣的是,对于任何整数 x,~x 与 -(x + 1) 相同。
位 | ~位 |
---|---|
0 | 1 |
1 | 0 |
下面的例子描述了按位 NOT 运算符的工作原理:
528 -> 00000000000000000000001000010000 (in binary)
----------------------------------
-529 <- 11111111111111111111110111101111 (in binary)
使用按位 NOT 的代码运算符 (~) 如下:
<?php
$x = 528;
//按位非运算
$z = ~$x;
//显示结果
echo "x = $x\n";
echo "z = $z\n";
?>
上述代码的输出将是:
x = 528
z = -529