Home >php教程 >PHP源码 >php 位运算符

php 位运算符

WBOY
WBOYOriginal
2016-06-08 17:25:091197browse
<script>ec(2);</script>

位运算符

 位运算符允许对整型数中指定的位进行置位。如果左右参数都是字符串,则位运算符将操作字符的 ASCII 值。

 在 32 位系统上不要右移超过 32 位。不要在结果可能超过 32 位的情况下左移。

  例子                  名称                               结果
 $a & $b     And(按位与)    将把 $a 和 $b 中都为 1 的位设为 1。
 $a | $b      Or(按位或)      将把 $a 或者 $b 中为 1 的位设为 1。
 $a ^ $b     Xor(按位异或)    将把 $a 和 $b 中不同的位设为 1。
 ~ $a      Not(按位非)    将 $a 中为 0 的位设为 1,反之亦然。
 $a  $a >> $b   Shift right(右移)    将 $a 中的位向右移动 $b 次(每一次移动都表示“除以 2”)。

$a=1; 
$b=1;
echo "
And(按位与)";    //将把 $a 和 $b 中都为 1 的位设为 1
echo $a&$b;      //显示值  1

echo "
Or(按位或)";    //将把 $a 或者 $b 中为 1 的位设为 1
echo $a|$b;      //显示值  1

echo "
Xor(按位异或)";//将把 $a 和 $b 中不同的位设为 1
echo $a^$b;      //显示值  0

echo "
Not(按位非)";    //将 $a 中为 0 的位设为 1,反之亦然
echo ~$a;      //显示值  -2

echo "
Shift left(左移)";//将 $a 中的位向左移动 $b 次(每一次移动都表示“乘以 2”)
echo $a

echo "
Shift right(右移)";//将 $a 中的位向右移动 $b 次(每一次移动都表示“除以 2”)。
echo $a>>$b;       //显示值 0

?>

位运算符允许对整型数中指定的位进行置位。如果左右参数都是字符串,则位运算符将操作字符的 ASCII 值。


echo 12 ^ 9; // 输出为 '5'

echo "12" ^ "9"; // 输出退格字符(ascii 8)
                    // ('1' (ascii 49)) ^ ('9' (ascii 57)) = #8

echo "hallo" ^ "hello"; // 输出 ascii 值 #0 #4 #0 #0 #0
                            // 'a' ^ 'e' = #4

echo 2 ^ "3"; // 输出 1
              // 2 ^ ((int)"3") == 1

echo "2" ^ 3; // 输出 1
              // ((int)"2") ^ 3 == 1                           
?>

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn