$ 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中解释我的两个条件?
答案 0 :(得分:3)
这里发生的事情是Bitwise Operators。它更常用于低级语言,它是计算机可以做的最简单的事情之一。大多数计算都建立在它之上。那是什么?好吧,&
是Bitwise AND
运算符,|
是Bitwise OR
运算符。您可以使用this online tool对其进行测试。但是让我们分解它是如何运作的。
取两个二进制字符串和两个二进制文件中的任何1
,同一个地方,成为0
。
7
是111
11
为1011
因此,如果你对它们执行AND
,你会得到类似这样的内容
0111 &
1011 =
0011
十进制中的 0011
为3
。得到0011
,因为只有最后两个地方都是1
。
OR
基本上是opsite。如果 二进制文件中的位置为1
,则输出为1
。因此,当您在7
和11
上执行此操作时,您将获得
1011 |
0111 =
1111
1111
是十进制的15
答案 1 :(得分:2)
在二进制文件中,11
为00001011
,7
为00000111
(为简单起见,仅显示相关的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