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

醉折花枝作酒筹
發布: 2023-03-11 19:50:01
轉載
2550 人瀏覽過

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

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

^:位元異或。將值轉換為二進位後進行比較,相同位置只要有一個為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
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板