详解php 中的位运算符

怪我咯
发布: 2017-06-20 13:28:16
原创
3383人浏览过

位运算符允许对整型数中指定的位进行求值和操作。

php中的位运算符如下表

立即学习PHP免费学习笔记(深入)”;

例子 名称 结果
$a & $b And(按位与) 将把和中都为 1 的位设为 1。
$a | $b Or(按位或) 将把和中任何一个为 1 的位设为 1。
$a ^ $b Xor(按位异或) 将把和中一个为 1 另一个为 0 的位设为 1。
~ $a Not(按位取反) 将中为 0 的位设为 1,反之亦然。
$a << $b Shift left(左移) 将中的位向左移动次(每一次移动都表示“乘以 2”)。
$a >> $b Shift right(右移) 将中的位向右移动次(每一次移动都表示“除以 2”)。

位移在 PHP 中是数学运算。向任何方向移出去的位都被丢弃。左移时右侧以零填充,符号位被移走意味着正负号不被保留。右移时左侧以符号位填充,意味着正负号被保留。

立即学习PHP免费学习笔记(深入)”;

要注意数据类型的转换。如果左右参数都是字符串,则位运算符将对字符的 ASCII 值进行操作。

PHP 的 ini 设定 error_reporting 使用了按位的值,

提供了关闭某个位的真实例子。要显示除了提示级别
之外的所有错误,php.ini 中是这样用的: E_ALL & ~E_NOTICE  

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

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

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

算家云
算家云

高效、便捷的人工智能算力服务平台

算家云 37
查看详情 算家云

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

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

在计算机中,负数以其正值的补码形式表达。
 在这里我们就要知道三个概念了,原码,反码和补码。

原码:一个整数,按照绝对值大小转换成的二进制数,称为原码。

8的原码为:0000 0000 0000 0000 0000 0000 0000 1000

反码:将二进制数按位取反,所得的新二进制数称为原二进制数的反码。取反操作指:1变0, 0变1。

8按位取反:1111 1111 1111 1111 1111 1111 1111 0111

补码:反码加1称为补码。也就是说,要得到一个数的补码,先得到反码,然后将反码加上1,所得数称为补码。

正数的补码与其原码相同;负数的补码是在其反码的末位加1

反码加1:1000 0000 0000 0000 0000 0000 000 1001;这样就得负数的正值的补码形式。也就是-9了。

示例

<?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
登录后复制

以上就是详解php 中的位运算符的详细内容,更多请关注php中文网其它相关文章!

相关标签:
php
PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号