php的运算符
and或&&逻辑与当两边操作数都为true时,返回true,否则返回false$a and $b$a && $b
or或||逻辑或当两边操作数都为false时,返回false,否则返回true$a or $b$a || $b
not或!逻辑非当操作数为true时返回false,否则返回truenot $b!$b
xor逻辑异或当两边操作数只有一个为true时,返回true,否则返回false$a xor $b
and (1 xor 1)
%…………^
~
++++
----
补码转换成十进制就是符号位不变其他位按位取反加1.
$x = ~3;
echo $x;
输出结果是-4;
为什么呢?
// 0 0000110
// 1 1111001//取反之后进行补码运算
// 1 0000110+1
// 1 0000111
$x=~3;
echo $x;
//-4
0 0000011 //二进制
1 1111100 //取反
1 0000011+1 //补位
1 0000100 //-4
~3=~3
zz
页:
[1]