PHP位運算符

PHP位運算符ide



位運算符的基本規則:spa


1:位運算符都是針對整數的二進制數字形式而進行的。orm

2:按位與運算基本規則:blog

    規則表:
get

        1&1 => 1
it

        1&0 => 0
io

        0&1 => 0
class

        0&0 => 0
二進制

3:按位或運算基本規則:im

    規則表:

        1|1 => 1

        1|0 => 1

        0|1 => 1

        0|0 => 0

4:按位非運算:

    ~1 => 0

    ~0 => 1

5:按位異或運算:

    1^1 => 0

    0^0 => 0

    1^0 => 1

    0^1 => 1

    規律:相同就是0,不一樣就是1


按位與運算:

    

    形式:A&B    //A和B都是數字,實際上是常規的十進制數字,但內部會按二進制進行計算

    含義:    將A和B的二進制形式的每個位上的二進制數字進行按位與(&)運算以後的結果。

    說明:一個數字的二進制形式一般是32位的0和1的組合,也多是64位,但爲了說明問題,咱們一般只用8位。

    舉例:

$r1 = 9 & 13;    //9的二進制是「1001」,13的二進制是「1101」

wKiom1ZGlKjBF0NBAAA2igqzZlY894.jpg

按位與運算:

    

    形式:A|B    //A和B都是數字,實際上是常規的十進制數字,但內部會按二進制進行計算

    含義:    將A和B的二進制形式的每個位上的二進制數字進行按位與(|)運算以後的結果。

    舉例:

$r1 = 18 | 10;    //18的二進制是「10010」,10的二進制是「1010」

wKioL1ZGlsejheg-AAA0YMsdpys470.jpg


按位左移運算:<<

    形式:A << n;    //A是一個要被移動的數字,n是一個指定要移動的位數

    含義:將數字A的二進制形式的每個位上的數字左移動指定的位數n,則最左邊的n位移出去,最右邊空出來的n位補0便可。

舉例:

    $r1 = 9 << 2;    //9的二進制形式爲1001

wKiom1ZGmdzgrPBHAAAyj216cts119.jpg

按位右移運算:>>

    形式:A >> n;    //A是一個要被移動的數字,n是一個指定要移動的位數

    含義:將數字A的二進制形式的每個位上的數字右移動指定的位數n,則最右邊的n位移出去,最左邊空出來的n位補0便可。(對正數,實際上補符號位)

wKiom1ZGm07jjZnfAAA-1mG-Vl4906.jpg

按位非運算:~

    將一個數字的二進制形式的每個二進制數字取反所獲得的結果。


按位異或:

    將2個整數的二進制形式的每個對應數字進行異或運算以後的結果。

相關文章
相關標籤/搜索