按位与运算符 (&) 是一个二元运算符,它采用两个长度相等的位模式,并对每对对应位执行逻辑与运算。如果同一位置的两个位均为 1,则返回 1,否则返回 0。
Bit_1 | Bit_2 | Bit_1 和 Bit_2 |
---|---|---|
0 | 0 | 0 |
1 | 0 | 0 |
0 | 1 | 0 |
1 | 1 | 1 |
下面的示例描述了按位与运算符的工作原理:
50 & 25 returns 16
50 -> 110010 (In Binary)
& 25 -> & 011001 (In Binary)
---- --------
16 <- 010000 (In Binary)
使用按位与运算符(&)的代码如下:
<?php
$x = 50;
$y = 25;
$z;
//按位与运算
$z = $x & $y;
//显示结果
echo "z = $z";
?>
上面的代码将是:
z = 16
示例:检查数字是偶数还是奇数
偶数的最后一位始终是0,而对于奇数,最后一位始终是1。因此,对于给定数字 n,如果 n 为偶数,则 (n & 1) 返回 0,否则返回 1。
Even Number:
50 -> 110010 (In Binary)
& 1 -> & 000001 (In Binary)
---- --------
0 <- 000000
Odd Number:
99 -> 1100011 (In Binary)
& 1 -> & 0000001 (In Binary)
---- ---------
1 <- 0000001
下面的代码检查给定的数字是偶数还是奇数:
<?php
function CheckEven($MyNum){
if (($MyNum & 1) == 1){
echo $MyNum." is an odd number.\n";
} else {
echo $MyNum." is an even number.\n";
}
}
CheckEven(50);
CheckEven(99);
?>
上面的代码将给出以下结果输出:
50 is an even number.
99 is an odd number.