详解php 中的位运算符

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

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

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

PHP 网络编程技术与实例(曹衍龙)
PHP 网络编程技术与实例(曹衍龙)

PHP网络编程技术详解由浅入深,全面、系统地介绍了PHP开发技术,并提供了大量实例,供读者实战演练。另外,笔者专门为本书录制了相应的配套教学视频,以帮助读者更好地学习本书内容。这些视频和书中的实例源代码一起收录于配书光盘中。本书共分4篇。第1篇是PHP准备篇,介绍了PHP的优势、开发环境及安装;第2篇是PHP基础篇,介绍了PHP中的常量与变量、运算符与表达式、流程控制以及函数;第3篇是进阶篇,介绍

PHP 网络编程技术与实例(曹衍龙) 386
查看详情 PHP 网络编程技术与实例(曹衍龙)

^(按位异或):对应位不同时为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号