php中位运算符
位运算是以位(bit)为单位进行运算的,在计算机内部是以0和1做运算。我们平时所进行的运算都是以十进制表示以符合一般人的阅读习惯,但计算机内部仍以0和1表示。
位运算符有以下几个:
位运算符(按运算符优先顺序排列)
结合方向 |
逻辑运算符 |
名 称 |
例 子 |
非结合
|
~
|
按位非
|
~ $A
|
左
|
<< >>
|
左移 右移
|
$A << $B $A >> $B
|
左
|
&
|
按位与
|
$A & $B
|
左
|
^
|
按位异或
|
$A ^ $B
|
左
|
|
|
按位或
|
$A | $B
|
“结合方向”中的左联表示表达式从左向右求值,右联相反。
在逻辑运算时代,1代表真,0代表假。那么上面的表格就表示为:
~ (按位非):取反
& (按位与):二者都为 1 时为 1 ,否则为 0
$A |
$B |
$A & $B |
0
|
0
|
0
|
0
|
1
|
0
|
1
|
0
|
0
|
1
|
1
|
1
|
^ (按位异或):二者值不相同为 1 ,二者相同为 0
$A |
$B |
$A ^ $B |
0
|
0
|
0
|
0
|
1
|
1
|
1
|
0
|
1
|
1
|
1
|
0
|
| (按位或):二者其中一个为 1 就为 1 ,否则为 0
$A |
$B |
$A | $B |
0
|
0
|
0
|
0
|
1
|
1
|
1
|
0
|
1
|
1
|
1
|
1
|
举例说明:
<?php
$a = 12; // 12=00001100
$b = 3; // 3=00000011
echo $a & $b . “<br />”; // 显示结果为: 0
echo $a ^ $b . “<br />”; // 显示结果为: 15
echo $a | $b . “<br />”; // 显示结果为: 15
echo $a << $b . “<br />”; // 显示结果为: 96
echo $a >> $b . “<br />”; // 显示结果为: 1
echo ~$a ; // 显示结果为: -13
?>
$a & $b:二者都为 1 时为 1 ,否则为 0。即把 $a 和 $b 中都为 1 的位设为 1 ,否则设为 0 。
0000 1100 ← $a
& 0000 0011 ← $b
--------------------------------------
0000 0000 = 0
$a ^ $b:二者值不相同为 1 ,二者相同为 0 。即把 $a 和 $b 中不同的位设为 1 ,相同的位设为 0 。
0000 1100 ← $a
^ 0000 0011 ← $b
--------------------------------------
0000 1111 = 15
$a | $b:二者其中一个为 1 就为 1 ,否则为 0 。即把 $a 或者 $b 中为 1 的位设为 1 ,否则设为 0 。
0000 1100 ← $a
| 0000 0011 ← $b
--------------------------------------
0000 1111 = 15
$a << $b:将 $a 中的位向左移动 $b 次(每一次移动都表示“乘以 2”,即“乘以 2$b ”)。
0000 1100 ← $a
<< 0110 0000 左移3个,空出的位置用 0 补充
--------------------------------------
0000 1111 = 96
$a >> $b:将 $a 中的位向右移动 $b 次(每一次移动都表示“除以 2”,即“乘以 2 -$b ”)。
0000 1100 ← $a
<< 0000 0001 右移3个,多出的位置截掉
--------------------------------------
0000 0001 = 1
分享到:
相关推荐
PHP 运算符是编程语言中最基本的组成部分,它们用于在程序中执行各种操作,例如算术、赋值、比较、逻辑、位运算等。下面我们将详细讲解 PHP 中的运算符。 一、算术运算符 算术运算符是 PHP 中最基本的运算符,用于...
在PHP编程语言中,管道运算符(也称为“pipeline operator”或“pipeline”)通常用于将函数串联起来,使得一个函数的输出可以作为另一个函数的输入,这在函数式编程中非常常见。然而,PHP标准库本身并不直接支持...
以下是对标题和描述中提及的PHP运算符的详细解释: 1. **算数运算符**:这些运算符用于进行基本的数学计算,如加法、减法、乘法、除法、取余(模)和幂。例如,`+` 表示加法,`-` 表示减法,`*` 表示乘法,`/` 表示...
在PHP程序设计中,位运算符是用于处理二进制数据的重要工具,它们在底层操作数值的二进制表示,可以高效地进行某些特定的计算和数据操作。本部分将详细探讨位运算符的拓展知识,包括它们的定义、工作原理以及在实际...
### PHP运算符 1. **算术运算符**:包括加(`+`)、减(`-`)、乘(`*`)、除(`/`)、模(`%`)、自增(`++`)和自减(`--`)。例如:`$a = 5 + 3;`。 2. **比较运算符**:用于比较两个值,如等于(`==`)、不等于(`!=`)、大于(`>`...
在PHP程序设计中,位运算符是用于对整数类型变量的二进制位进行操作的运算符。这些运算符允许我们直接处理变量的二进制表示,从而进行高效的计算和数据处理。在"PHP程序设计-3期(KC016) 2.5.3位运算符课后习题.doc...
在PHP程序设计中,位运算符是一个非常重要的概念,特别是在处理二进制数据、优化算法或进行低级别的数据操作时。位运算符直接作用于变量的二进制表示,而不是它们的十进制或十六进制值。以下是针对文档标题和描述中...
在Smarty中,运算符主要用于模板文件中对变量进行操作。接下来,我们将对Smarty中常用的运算符进行详细介绍。 ##### 比较运算符 1. **等于(`{eq}`)**:用于判断两个值是否相等。 ```smarty {$var1|default:""|...
本文主要讨论了PHP中的四种类型的运算符:算术运算符、赋值运算符、逻辑运算符以及特殊运算符,如三元运算符和NULL合并运算符。 首先,算术运算符包括加法(+), 减法(-), 乘法(*), 除法(/), 取余数(%)。在运算过程中...
本主题将深入探讨C语言中的核心概念:数据类型、常量、变量以及运算符。 首先,我们要理解**数据类型**。数据类型是C语言的基础,它定义了变量能够存储的数据种类。C语言的基本数据类型包括整型(如int)、浮点型...
### PHP中的各种运算符详解 #### 一、概述 PHP是一种广泛使用的开源脚本语言,尤其适用于Web开发并可嵌入HTML中。本文将详细介绍PHP中的各种运算符,旨在帮助初学者快速掌握这些基本概念,并能灵活运用到实际编程...
在PHP编程语言中,运算符和表达式是构建程序的基础元素。运算符允许我们执行不同的操作,如数学计算、比较和逻辑判断,而表达式则是由一个或多个运算符和变量组成的代码片段,用于计算出特定的值。下面我们将详细...
在PHP中,比较运算符是编程中不可或缺的一部分,它们用于比较两个值并返回一个布尔结果,表示这两个值是否相等、不等、大于、小于、大于等于或小于等于。在PHP程序设计中,掌握比较运算符是理解逻辑控制流和数据处理...
实验三的目的是让学生熟悉PHP编程环境,掌握PHP运算符和表达式的使用方法。在这个实验中,学生需要完成五个任务,涉及PHP系统预定义常量、转义字符、自增自减运算符、算术运算符以及三目运算符的运用。 1. **系统...
算术运算符中的取模运算符“%”在PHP中用来计算两个数相除的余数。它通常用于整数运算,不能用于小数或负数。一个常见的用法是判断是否为闰年,如“$year % 4 == 0 && $year % 100 != 0 || $year % 400 == 0”。 ...
LAMPBrotherPPT--变量与运算符LAMPBrotherPPT--变量与运算符LAMPBrotherPPT--变量与运算符LAMPBrotherPPT--变量与运算符
在PHP编程语言中,理解并掌握运算符及其优先级至关重要。本文将详细介绍各种类型的运算符以及它们在PHP中的应用。 #### 算术运算符 算术运算符用于执行基本的数学运算。以下是PHP中常见的算术运算符: | 运算符 |...
在PHP程序中恰当地使用三元运算符能够让脚本更为简洁、高效。代码的语法如下: (expr1)?(expr2):(expr3); //表达式1?表达式2:表达式3 解释:如果条件“expr1”成立,则执行语句“expr2”,否则执行“expr3”。 <...
在PHP 7.0版本中引入了一个新的运算符——NULL合并运算符(Null Coalescing Operator)。该运算符使用`??`作为符号,主要用于简化检查变量是否为`NULL`的过程,并提供一个默认值。在此之前,为了实现这一功能,...
在PHP5及之前的版本中,我们通常会使用三元运算符来检查一个变量是否已经设置且不为NULL,如果未设置或为NULL,则为其赋予默认值。例如,在PHP5中检查GET请求中的某个参数并为其赋予默认值的代码如下: ```php $lig...