什么是$ a& $ b和$ a | php中的$ b?

时间:2016-06-30 09:05:26

标签: php

$ a& amp; $ b和$ a | php中的$ b?

$a = 11;
$b = 7;
echo $a & $b;

在上面的PHP代码中,它将给出结果3如何计算3?

$a = 11;
$b = 7;
echo $a | $b;

在上面的PHP代码中,它将给出结果15如何计算15?

在php中解释我的两个条件?

2 个答案:

答案 0 :(得分:3)

这里发生的事情是Bitwise Operators。它更常用于低级语言,它是计算机可以做的最简单的事情之一。大多数计算都建立在它之上。那是什么?好吧,&Bitwise AND运算符,|Bitwise OR运算符。您可以使用this online tool对其进行测试。但是让我们分解它是如何运作的。

AND运算符

取两个二进制字符串和两个二进制文件中的任何1,同一个地方,成为0

7111 111011

因此,如果你对它们执行AND,你会得到类似这样的内容

0111 &
1011 =
0011
十进制中的

00113。得到0011,因为只有最后两个地方都是1

OR运营商

OR基本上是opsite。如果 二进制文件中的位置为1,则输出为1。因此,当您在711上执行此操作时,您将获得

1011 |
0111 =
1111

1111是十进制的15

答案 1 :(得分:2)

在二进制文件中,1100001011700000111(为简单起见,仅显示相关的8位)。

所以11 & 7(按位AND)

00001011
00000111 & matching only where both matching bits are `1`
--------
00000011

3

的二进制文件

所以11 | 7(按位OR)

00001011
00000111 | matching where either (or both) bits is `1`
--------
00001111

15

的二进制文件