常见四个位运算符:&(按位与),|(按位或),^(按位异或),~(按位取反)
&(按位与):对应位同时为1时,在&运算后则为1,否则为0
|(按位或):对应位有一个为1时,在|运算后则为1,同为0时则为0
^(按位异或):对应位不同时为1时,在^运算后为1,同时为0时则为0,同时为1时^运算后也是0
~(按位取反):$a+(~$a)=-1
立即学习“PHP免费学习笔记(深入)”;
位移在 PHP中是数学运算。向任何方向移出去的位都被丢弃。左移时右侧以零填充,符号位被移走意味着正负号不被保留,符号位随字符变化而变化。右移时左侧以符号位填充,符号位不变。
注意:php没有无符号数,也就是说,php中的数都是有符号的。
计算机中的运算都是以补码的形式参加运算的;php位运算过程如下:(以8位计算机为例)
以2&-7=?计算为例:
(1)、计算2的补码:
2->原码:00000010->反码:00000010->补码:00000010
(2)、计算-7的补码:
-7->原码:10000111->反码:11111000->补码:11111001
(3)、计算2&-7的补码->反码->原码
2&-7补码:00000000->反码:00000000->原码:00000000
(4)、有2&-7原码得到2&-7的值
所以2&-7 = 0
实例代码如下:
<?php$m=8;$n=12;$p=-109;$mn=$m&$n;echo $mn."<br>";$mn=$m|$n;echo $mn."<br>";$mn=$m^$n;echo $mn."<br>";$mn=~$m;echo $mn."<br>";$mn=~$p;echo $mn."<br>";?>
输出结果:
8124-9108
标签: 位运算符的用法
免责声明:本站内容仅用于学习参考,信息和图片素材来源于互联网,如内容侵权与违规,请联系我们进行删除,我们将在三个工作日内处理。联系邮箱:chuangshanghai#qq.com(把#换成@)