php的位元運算詳解

來源:互聯網
上載者:User
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位元運算符用法執行個體詳解

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.