您好,登錄后才能下訂單哦!
PHP位運(yùn)算符
位運(yùn)算符的基本規(guī)則:
1:位運(yùn)算符都是針對(duì)整數(shù)的二進(jìn)制數(shù)字形式而進(jìn)行的。
2:按位與運(yùn)算基本規(guī)則:
規(guī)則表:
1&1 => 1
1&0 => 0
0&1 => 0
0&0 => 0
3:按位或運(yùn)算基本規(guī)則:
規(guī)則表:
1|1 => 1
1|0 => 1
0|1 => 1
0|0 => 0
4:按位非運(yùn)算:
~1 => 0
~0 => 1
5:按位異或運(yùn)算:
1^1 => 0
0^0 => 0
1^0 => 1
0^1 => 1
規(guī)律:相同就是0,不同就是1
按位與運(yùn)算:
形式:A&B //A和B都是數(shù)字,其實(shí)是常規(guī)的十進(jìn)制數(shù)字,但內(nèi)部會(huì)按二進(jìn)制進(jìn)行計(jì)算
含義: 將A和B的二進(jìn)制形式的每一個(gè)位上的二進(jìn)制數(shù)字進(jìn)行按位與(&)運(yùn)算之后的結(jié)果。
說明:一個(gè)數(shù)字的二進(jìn)制形式通常是32位的0和1的組合,也可能是64位,但為了說明問題,我們通常只用8位。
舉例:
$r1 = 9 & 13; //9的二進(jìn)制是“1001”,13的二進(jìn)制是“1101”
按位與運(yùn)算:
形式:A|B //A和B都是數(shù)字,其實(shí)是常規(guī)的十進(jìn)制數(shù)字,但內(nèi)部會(huì)按二進(jìn)制進(jìn)行計(jì)算
含義: 將A和B的二進(jìn)制形式的每一個(gè)位上的二進(jìn)制數(shù)字進(jìn)行按位與(|)運(yùn)算之后的結(jié)果。
舉例:
$r1 = 18 | 10; //18的二進(jìn)制是“10010”,10的二進(jìn)制是“1010”
按位左移運(yùn)算:<<
形式:A << n; //A是一個(gè)要被移動(dòng)的數(shù)字,n是一個(gè)指定要移動(dòng)的位數(shù)
含義:將數(shù)字A的二進(jìn)制形式的每一個(gè)位上的數(shù)字左移動(dòng)指定的位數(shù)n,則最左邊的n位移出去,最右邊空出來的n位補(bǔ)0即可。
舉例:
$r1 = 9 << 2; //9的二進(jìn)制形式為1001
按位右移運(yùn)算:>>
形式:A >> n; //A是一個(gè)要被移動(dòng)的數(shù)字,n是一個(gè)指定要移動(dòng)的位數(shù)
含義:將數(shù)字A的二進(jìn)制形式的每一個(gè)位上的數(shù)字右移動(dòng)指定的位數(shù)n,則最右邊的n位移出去,最左邊空出來的n位補(bǔ)0即可。(對(duì)正數(shù),實(shí)際上補(bǔ)符號(hào)位)
按位非運(yùn)算:~
將一個(gè)數(shù)字的二進(jìn)制形式的每一個(gè)二進(jìn)制數(shù)字取反所得到的結(jié)果。
按位異或:
將2個(gè)整數(shù)的二進(jìn)制形式的每一個(gè)對(duì)應(yīng)數(shù)字進(jìn)行異或運(yùn)算之后的結(jié)果。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。