一起源码网

  • QingYuanMa.com
  • 全球最大的互联网技术和资源下载平台
搜索
猜你喜欢
查看: 8405|回复: 1
打印 上一主题 下一主题

php位运算符用法实例详解

[复制链接]

0

主题

0

帖子

1万

积分

钻石会员

Rank: 8Rank: 8

积分
17424
QQ
跳转到指定楼层
楼主
发表于 2020-2-25 11:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
常见四个位运算符:&(按位与),|(按位或),^(按位异或),~(按位取反)

&(按位与):对应位同时为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->原码:00000->反码: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>";
?>

输出结果:

8
12
4
-9
108

分享到:  QQ好友和群QQ好友和群
收藏收藏
回复

使用道具 举报

0

主题

17

帖子

53

积分

注册会员

Rank: 2

积分
53
沙发
发表于 2022-6-12 17:20 | 只看该作者
安卓系统源代码复制
回复

使用道具 举报

轻源码让程序更轻更快

QingYuanMa.com

工作时间 周一至周六 8:00-17:30

侵权处理

客服QQ点击咨询

关注抖音号

定期抽VIP

Copyright © 2016-2021 https://www.171739.xyz/ 滇ICP备13200218号

快速回复 返回顶部 返回列表