php位移操作,php位运算符用法实例详解

常见四个位运算符:&(按位与),|(按位或),^(按位异或),~(按位取反)

&(按位与):对应位同时为1时,在&运算后则为1,否则为0

|(按位或):对应位有一个为1时,在|运算后则为1,同为0时则为0

^(按位异或):对应位不同时为1时,在^运算后为1,同时为0时则为0,同时为1时^运算后也是0

~(按位取反):$a+(~$a)=-1

位移在 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."
";

$mn=$m|$n;

echo $mn."
";

$mn=$m^$n;

echo $mn."
";

$mn=~$m;

echo $mn."
";

$mn=~$p;

echo $mn."
";

?>

输出结果:8

12

4

-9

108

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值