PHP运算符(四)”位运算符“实例讲解
我们已经讲解了PHP运算符中的“php算术运算符”,“php字符串运算符”,“赋值运算符”,今天给大家详细介绍一下PHP运算符中的“位运算符”。
位运算符在PHP中不经常用到,但是他的用处还是很大,下面的内容我们会举例说明一下位运算符的用法。
位运算符是指对二进制位从低位到高位对齐后进行运算,它允许对整型数中指定的位进行求值和操作。
在PHP中的为运算符如下表所示
运算符 | 说明 | 例子 |
& | 按位与 | $m & $n |
| | 按位或 | $m | &$n |
^ | 按位异或 | $m ^ $n |
~ | 按位非或按位取反 | $m ~ $n |
<< | 左移 | $m << $n |
>> | 右移 | $m >> $n |
下面我们用例子来上面一下上表中的运算符
<?php $m=1; //1=0 00000001 $n=2; //2=00000010 $mn=$m&$n; echo $mn."<br/>"; $mn=$m^$n; echo $mn."<br/>"; $mn=$m|$n; echo $mn; ?>
代码运行结果:
例子解释:
$m&$n : 二者都为 1 时为 1 ,否则为 0。即把 $a 和 $b 中都为 1 的位设为 1 ,否则设为 0 。
00000001 ← $m
& 00000010 ← $b
比较结果为00000000,所以输出0
$m^$n :在按位亦或的过程中,不同为1,相同为0。
00000001 ← $m
^ 00000010 ← $n
所以结果为00000011,进而输出3。
$m|$n: 在按位或的过程中,有1为1,全0为0,
00000001 ← $m
| 00000010 ← $n
则结果为00000011,所以输出3
上面的例子讲了“按位或”,“按位或”,“按位异或”,下面我们再来看一下后面的三种示例
按位非或按位取反示例,代码如下
<?php $m = 2; $m1 = ~$m; echo $m1; ?>
运行结果
此时我们的运行结果为-3,这里需要注意。
注:在计算机中,负数以其正值的补码形式表达。
1: 2的32位原码为 0000 0000 0000 0000 0000 0000 0000 0010
2: 按位取反后为 1111 1111 1111 1111 1111 1111 1111 1101
由于最前面的数为1,符号位为1,即为负数,所以,以其正值的补码形式表示为:(符号位不变,按位取反,末尾加1)
1000 0000 0000 0000 0000 0000 0000 0011
所以输出为-3
左移右移代码示例
<?php $m = 12; // 12=00001100 $n = 3; // 3=00000011 $mn= $m << $n; echo $mn ."<br/>"; $mn= $m >> $n; echo $mn ; ?>
运行结果:
示例解释:
$m<<$n:将 $m 中的位向左移动 $n 次(每一次移动都表示“乘以 2”,即“乘以 2$b ”)。
0000 1100 ← $m
<< 0110 0000 左移3个,空出的位置用 0 补充
0110 0000 = 96
$m>>$n:将 $m中的位向右移动 $n 次(每一次移动都表示“除以 2”,即“乘以 2 -$b ”)。
0000 1100 ← $m
<< 0000 0001 右移3个,多出的位置截掉
0000 0001 = 1
上面的内容就是PHP运算中的“位运算符”的详细内容,如果有什么不懂的,可以关注我们PHP中文网,在上面进行留言,我们将第一时间给你解答或者在PHP中文网搜索,也许能找到你想的。下一节,我们将详细介绍PHP运算中的逻辑运算符。
以上是PHP运算符(四)”位运算符“实例讲解的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

PHP 8.4 带来了多项新功能、安全性改进和性能改进,同时弃用和删除了大量功能。 本指南介绍了如何在 Ubuntu、Debian 或其衍生版本上安装 PHP 8.4 或升级到 PHP 8.4

CakePHP 是 PHP 的开源框架。它的目的是使应用程序的开发、部署和维护变得更加容易。 CakePHP 基于类似 MVC 的架构,功能强大且易于掌握。模型、视图和控制器 gu

Visual Studio Code,也称为 VS Code,是一个免费的源代码编辑器 - 或集成开发环境 (IDE) - 可用于所有主要操作系统。 VS Code 拥有针对多种编程语言的大量扩展,可以轻松编写

CakePHP 是一个开源MVC 框架。它使开发、部署和维护应用程序变得更加容易。 CakePHP 有许多库可以减少大多数常见任务的过载。

本教程演示了如何使用PHP有效地处理XML文档。 XML(可扩展的标记语言)是一种用于人类可读性和机器解析的多功能文本标记语言。它通常用于数据存储

JWT是一种基于JSON的开放标准,用于在各方之间安全地传输信息,主要用于身份验证和信息交换。1.JWT由Header、Payload和Signature三部分组成。2.JWT的工作原理包括生成JWT、验证JWT和解析Payload三个步骤。3.在PHP中使用JWT进行身份验证时,可以生成和验证JWT,并在高级用法中包含用户角色和权限信息。4.常见错误包括签名验证失败、令牌过期和Payload过大,调试技巧包括使用调试工具和日志记录。5.性能优化和最佳实践包括使用合适的签名算法、合理设置有效期、
