這篇文章將為大家詳細(xì)講解有關(guān)PHP位運(yùn)算符有哪些,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長期合作伙伴,公司提供的服務(wù)項(xiàng)目有:域名與空間、虛擬主機(jī)、營銷軟件、網(wǎng)站建設(shè)、雜多網(wǎng)站維護(hù)、網(wǎng)站推廣。
位運(yùn)算符
位運(yùn)算符是指對二進(jìn)制位從低位到高位對齊后進(jìn)行運(yùn)算。
符號(hào) | 作用 | 舉例 | 個(gè)人理解 |
---|---|---|---|
& | 按位與 | $m & $n | 全1為1,否則為0 |
| | 按位或 | $m | $n | 全0為0,有1為1 |
^ | 按位異或 | $m | $n | 不同為1,相同為0 |
~ | 按位取反 | ~$m | |
<< | 向左移位 | $m << $n | |
>> | 向右移位 | $m >> $n |
&運(yùn)算符
運(yùn)行結(jié)果為0
解釋:將1,2分別轉(zhuǎn)換為二進(jìn)制為
00000001
00000010
在按位與的過程中,按位比較,全1為1,比較結(jié)果為00000000,所以輸出0
|運(yùn)算符
運(yùn)行結(jié)果為3,同樣,轉(zhuǎn)換成如上的二進(jìn)制
00000001
00000010
在按位或的過程中,有1為1,全0為0,則結(jié)果為00000011,所以輸出3
^運(yùn)算符
運(yùn)行結(jié)果為3,同樣,轉(zhuǎn)換成如上的二進(jìn)制
00000001
00000010
在按位亦或的過程中,不同為1,相同為0,所以結(jié)果為00000011,進(jìn)而輸出3。
~運(yùn)算符
運(yùn)行結(jié)果為-3,此處引人深思。
注:在計(jì)算機(jī)中,負(fù)數(shù)以其正值的補(bǔ)碼形式表達(dá)。
1: 2的32位原碼為 0000 0000 0000 0000 0000 0000 0000 0010
2: 按位取反后為 1111 1111 1111 1111 1111 1111 1111 1101
由于最前面的數(shù)為1,符號(hào)位為1,即為負(fù)數(shù),所以,以其正值的補(bǔ)碼形式表示為:(符號(hào)位不變,按位取反,末尾加1)
1000 0000 0000 0000 0000 0000 0000 0011
所以輸出為-3
<<運(yùn)算符
運(yùn)算結(jié)果為6
左移運(yùn)算的實(shí)質(zhì)是將對應(yīng)的數(shù)據(jù)的二進(jìn)制值逐位左移若干位,并在空出的位置上填0,最高位溢出并舍棄。
3的32位原碼為,0000 0000 0000 0000 0000 0000 0000 0011
左移一位:0000 0000 0000 0000 0000 0000 0000 0110
所以為6
根據(jù)手冊描述可以看出位運(yùn)算可以看出向左移一位,則是實(shí)現(xiàn)乘2運(yùn)算。由于位移操作的運(yùn)算速度比乘法的 運(yùn)算速度高很多。因此在處理數(shù)據(jù)的乘法運(yùn)算的時(shí),采用位移運(yùn)算可以獲得較快的速度。
提示 將所有對2的乘法運(yùn)算轉(zhuǎn)換為位移運(yùn)算,可提高程序的運(yùn)行效率。>>運(yùn)算符
右移一位,和<<運(yùn)算符,類似,只不過這個(gè)是右移,此處不在做過多解釋。
關(guān)于“PHP位運(yùn)算符有哪些”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),請把它分享出去讓更多的人看到。
本文名稱:PHP位運(yùn)算符有哪些
網(wǎng)站鏈接:http://weahome.cn/article/iicppi.html