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*2可以寫成$a<<1