首頁  >  文章  >  後端開發  >  如何使用位元運算子中的^和&

如何使用位元運算子中的^和&

醉折花枝作酒筹
醉折花枝作酒筹轉載
2021-07-26 16:17:322548瀏覽

位元操作是程式設計中對位模式位元或二進位數的一元和二元操作。在許多古老的微處理器上,位元運算比加減運算略快, 通常位元運算比乘除法運算快很多。在現代架構中,位元運算的運算速度通常與加法運算相同(仍然快於乘法運算)。

如何使用位元運算子中的^和&

^:位元異或。將值轉換為二進位後進行比較,相同位置只要有一個為1則該位置結果為1,否則為0。舉例如下:

$a=1;//二进制为00001
$b=2;//二进制为00010
echo $a^$b;// 00011 就是3,因此输出3

&:按位與。將值轉換為二進位後進行比較,相同位置只有兩個全為1則該位置結果為1,否則為0。舉例如下:

$a=1;//二进制为00001
$b=2;//二进制为00010
$c=3;//二进制为00011

echo $a&$b;// 00000 就是0,因此输出0
echo $a&$c;// 00001 就是1,因此输出1
echo $b&$c;// 00010 就是2,因此输出2

按位&後回傳值主要是用來判斷$a 是否存在於 $c,因此權限用法比較多。例如

$my_privilege = 15; // 1+2+4+8 拥有全部权限
$Pri = '';
$privilege_arr = array(8=>'增', 4=>'删',2=>'改',1=>'查');
foreach($privilege_arr as $k =>$v){
    $k & $my_privilege && $Pri .= &#39;我有&#39;.$v.&#39;的权力<br>&#39;;
}
echo $Pri;//输出结果

推薦學習:php影片教學

#

以上是如何使用位元運算子中的^和&的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:csdn.net。如有侵權,請聯絡admin@php.cn刪除