php位元運算符用法執行個體詳解

來源:互聯網
上載者:User
常見四個位元運算符:&(按位與),|(按位或),^(按位異或),~(按位取反)

&(按位與):對應位同時為1時,在&運算後則為1,否則為0

|(按位或):對應位有一個為1時,在|運算後則為1,同為0時則為0

^(按位異或):對應位不同時為1時,在^運算後為1,同時為0時則為0,同時為1時^運算後也是0

~(按位取反):$a+(~$a)=-1

位移在 PHP中是數學運算。向任何方向移出去的位都被丟棄。左移時右側以零填充,符號位被移走意味著加號或減號不被保留,符號位隨字元變化而變化。右移時左側以符號位填充,符號位不變。

注意:php沒有無符號數,也就是說,php中的數都是有符號的。

電腦中的運算都是以補碼的形式參加運算的;php位元運算過程如下:(以8位電腦為例)

以2&-7=?計算為例:

(1)、計算2的補碼:

2->原碼:00000010->反碼:00000010->補碼:00000010

(2)、計算-7的補碼:

-7->原碼:10000111->反碼:11111000->補碼:11111001

(3)、計算2&-7的補碼->反碼->原碼

2&-7補碼:00000000->反碼:00000000->原碼:00000000

(4)、有2&-7原碼得到2&-7的值

所以2&-7 = 0

執行個體代碼如下:

<?php$m=8;$n=12;$p=-109;$mn=$m&$n;echo $mn."<br>";$mn=$m|$n;echo $mn."<br>";$mn=$m^$n;echo $mn."<br>";$mn=~$m;echo $mn."<br>";$mn=~$p;echo $mn."<br>";?>

輸出結果:

8124-9108

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.