推薦:《PHP影片教學》
位元運算子
位元運算子是指對二進位位元從低位到高位對齊後進行運算。
符號 | 作用 | 範例 | 個人理解 |
---|---|---|---|
& | 位元與 | $m & $n |
全1為1,否則為0 |
| | 以位元或 | $m | $n |
全0為0,有1為1 |
^ | 以位異或 | #$m | $n | ##不同為1 ,相同為0|
按位元取反 | ~$m
|
||
#$m >> $n
|
&運算子
<?php $m = 1; $n = 2; $mn = $m & $n; echo $mn;運行結果為0解釋:將1,2分別轉換為二進位為0000000100000010在位元與的過程中,按位比較,全1為1,比較結果為00000000,所以輸出0
|運算子
<?php $m = 1; $n = 2; $mn = $m | $n; echo $mn;運行結果為3,同樣,轉換成如上的二進位0000000100000010在位元或的過程中,有1為1,全0為0,則結果為00000011,所以輸出3
^運算符
<?php $m = 1; $n = 2; $mn = $m ^ $n; echo $mn;運行結果為3,同樣,轉換成如上的二進位0000000100000010在位元亦或的過程中,不同為1,相同為0,所以結果為00000011,進而輸出3。
~運算子
<?php $m = 2; $m1 = ~$m; echo $m1;運行結果為-3,此處引人深思。 註:在計算機中,負數以其正值的補碼形式表達。 1: 2的32位原碼為0000 0000 0000 0000 0000 0000 0000 00102: 按位取反後為1111 1111 1111 1111 1111 1111 1111 1101由於最前面的數為1,符號位為1,即為負數,所以,以其正值的補碼形式表示為:(符號位不變,按位取反,末尾加1)1000 0000 0000 0000 0000 0000 0000 0011所以輸出為-3
a46cea8de6f5810c2cec1d593d2855df>運算子
右移一位,和<<運算符,類似,只不過這個是右移,此處不在做過多解釋。 ######更多程式相關知識,請造訪:###程式設計教學###! ! ###以上是詳解PHP位元運算符的詳細內容。更多資訊請關注PHP中文網其他相關文章!