您好,登錄后才能下訂單哦!
PHP位運算符
位運算符的基本規則:
1:位運算符都是針對整數的二進制數字形式而進行的。
2:按位與運算基本規則:
規則表:
1&1 => 1
1&0 => 0
0&1 => 0
0&0 => 0
3:按位或運算基本規則:
規則表:
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”
按位與運算:
形式:A|B //A和B都是數字,其實是常規的十進制數字,但內部會按二進制進行計算
含義: 將A和B的二進制形式的每一個位上的二進制數字進行按位與(|)運算之后的結果。
舉例:
$r1 = 18 | 10; //18的二進制是“10010”,10的二進制是“1010”
按位左移運算:<<
形式:A << n; //A是一個要被移動的數字,n是一個指定要移動的位數
含義:將數字A的二進制形式的每一個位上的數字左移動指定的位數n,則最左邊的n位移出去,最右邊空出來的n位補0即可。
舉例:
$r1 = 9 << 2; //9的二進制形式為1001
按位右移運算:>>
形式:A >> n; //A是一個要被移動的數字,n是一個指定要移動的位數
含義:將數字A的二進制形式的每一個位上的數字右移動指定的位數n,則最右邊的n位移出去,最左邊空出來的n位補0即可。(對正數,實際上補符號位)
按位非運算:~
將一個數字的二進制形式的每一個二進制數字取反所得到的結果。
按位異或:
將2個整數的二進制形式的每一個對應數字進行異或運算之后的結果。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。