首頁  >  文章  >  後端開發  >  php的位元運算詳解

php的位元運算詳解

小云云
小云云原創
2018-03-15 16:31:502214瀏覽

php的運算子有一類是位元運算的,本文主要和大家分享php的位元運算詳解,希望能幫助到大家。

一:& And位元與

$a&$b 將把二進位$a和二進位$b位數都為1的設為1,其他位元為0

例如:

7&3=>7(0111)&3(0011)    可以看出,0111和0011都為1的只有後面2個1,則7(0111)&3(0011)=0011 ; 0011十進制為3,則7&3=3

按位與的一個實際用處在於判斷奇偶$a&1

原理分析:

1的二進位只有最後一位是1,其他位元都是0,而奇數的最後一位也都是1,

例如11&1=>11(1011)&1(0001) = 1 則為奇數,12&1=>12 (1100)&1=0 則為偶數

此方法判斷奇偶數比$a%2==1性能高

二:| Or 按位同或 

## $a|$b 將把$a和$b中任何一個為1 的位元設為1。

範例同上

三:^ Xor位元異或

$a^$b將把$a和$b中一個為1 另一個為0 的位設為1。

範例同上

四:~ Not 以位元取反

$a~$b 將$a中為 0 的位元設為 1,反之亦然。

範例同上

五: << Shift left(左移)

$a<<$b;將$a中的位元向左移動$ b次(每一次移動都表示「乘以2」)。

位元進位運算比乘除運算快,所以$a*2可以寫成$a<<1

六: >>Shift right(右移)$a>>$b;將$a中的位元向右移動$b次(每一次移動表示「乘以2」)。 ######位元進位運算比乘除運算快,所以$a/2可以寫成$a>>1######相關建議:#########php位元運算符權限操作的實例詳解############實例總結php位元運算子的使用技巧############php位元運算子用法實例詳解##### #

以上是php的位元運算詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!