首页 > 开发 > PHP > 正文

php 位运算符

2024-05-04 23:07:23
字体:
来源:转载
供稿:网友

位运算符:位运算符允许对整型数中指定的位进行置位,如果左右参数都是字符串,则位运算符将操作字符的 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 << $b   Shift left(左移)    将 $a 中的位向左移动 $b 次(每一次移动都表示“乘以 2”)。 

$a >> $b   Shift right(右移)    将 $a 中的位向右移动 $b 次(每一次移动都表示“除以 2”).

  1. <?php 
  2. $a=1;   
  3. $b=1; 
  4. echo "<br/>And(按位与)";    //将把 $a 和 $b 中都为 1 的位设为 1 
  5. echo $a&$b;      //显示值  1 
  6.  
  7. echo "<br/>Or(按位或)";    //将把 $a 或者 $b 中为 1 的位设为 1 
  8. echo $a|$b;      //显示值  1 
  9.  
  10. echo "<br/> Xor(按位异或)";//将把 $a 和 $b 中不同的位设为 1 
  11. echo $a^$b;      //显示值  0 
  12.  
  13. echo "<br/>Not(按位非)";    //将 $a 中为 0 的位设为 1,反之亦然 
  14. echo ~$a;      //显示值  -2 
  15.  
  16. echo "<br>Shift left(左移)";//将 $a 中的位向左移动 $b 次(每一次移动都表示“乘以 2”) 
  17. echo $a<<$b;      //显示值  2 
  18.  
  19. echo "<br/>Shift right(右移)";//将 $a 中的位向右移动 $b 次(每一次移动都表示“除以 2”)。 
  20. echo $a>>$b;       //显示值 0 
  21. ?> 

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

  1. <?php 
  2. echo 12 ^ 9; // 输出为 '5' 
  3. echo "12" ^ "9"// 输出退格字符(ascii 8) 
  4.                     // ('1' (ascii 49)) ^ ('9' (ascii 57)) = #8 
  5. echo "hallo" ^ "hello"// 输出 ascii 值 #0 #4 #0 #0 #0 
  6.                             // 'a' ^ 'e' = #4 
  7. echo 2 ^ "3"// 输出 1 
  8.               // 2 ^ ((int)"3") == 1 
  9. echo "2" ^ 3; // 输出 1 
  10.               // ((int)"2") ^ 3 == 1                             
  11. ?> 

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表