位運(yùn)算

注意:

1.要做位運(yùn)算,首先得把數(shù)字轉(zhuǎn)化為二進(jìn)制并且是補(bǔ)碼。

2.&,|當(dāng)兩邊都是數(shù)字時(shí),為位運(yùn)算符;當(dāng)兩邊為布爾值時(shí),為邏輯運(yùn)算符。

位運(yùn)算符包括:&,|,^,~,<<,>>,>>>.

與位運(yùn)算符

//&運(yùn)算符,有0則0

//3? 00000000 00000000 00000000 00000011

//4? 00000000 00000000 00000000 00000100

//? 00000000 00000000 00000000 00000000

System.out.println(3&4);//結(jié)果為0

或位運(yùn)算符

//|運(yùn)算符,有1則1

//3? 00000000 00000000 00000000 00000011

//4? 00000000 00000000 00000000 00000100

//? 00000000 00000000 00000000 00000111

System.out.println(3|4);//結(jié)果為7

異或運(yùn)算符

//^運(yùn)算符,有相同則0,異同則1.

//3? 00000000 00000000 00000000 00000011

//4? 00000000 00000000 00000000 00000100

//? 00000000 00000000 00000000 00000111

System.out.println(3^4);//結(jié)果為7

//注意:一個(gè)數(shù)對(duì)另一個(gè)數(shù)異或兩次,該數(shù)本身不變。a^b^b = a。

按位取反運(yùn)算符

//|運(yùn)算符,有1則1

//3? ? 00000000 00000000 00000000 00000011

//? ? ? 11111111 11111111 11111111 11111100

//補(bǔ)碼? 11111111 11111111 11111111 11111100

//反碼? 11111111 11111111 11111111 11111011

//源碼? 10000000 00000000 00000000 00000100? -4

System.out.println(~3);//結(jié)果為7

左移<<

//<<左移 左邊最高位丟棄,右邊補(bǔ)齊0

//3? ? 00000000 00000000 00000000 00000011

//(00)000000 00000000 00000000 0000001100

//<<把<<左邊的數(shù)據(jù)*2的移動(dòng)次冪

System.out.println(2<<2);//結(jié)果為8

右移>>

//<<右移 左邊最高位是0補(bǔ)齊0,左邊最高位是1補(bǔ)齊1

//4? ? 00000000 00000000 00000000 0000100

// ? ? ? 00000000 00000000 00000000 000000100

//<<把<<左邊的數(shù)據(jù)*2的移動(dòng)次冪

System.out.println(4>>2);//結(jié)果為1


無(wú)符號(hào)移動(dòng)>>>,無(wú)論左邊是0還是1,左邊都補(bǔ)0

練習(xí):

請(qǐng)用最有效的方式計(jì)算出2*8?

2<<3 = 16

乘法的底層就是用為運(yùn)算進(jìn)行計(jì)算的。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 本文為 Crocutax 原創(chuàng),轉(zhuǎn)載請(qǐng)注明出處 http://www.crocutax.com 擼代碼時(shí)間越長(zhǎng),越...
    Crocutax閱讀 401評(píng)論 0 0
  • 二進(jìn)制轉(zhuǎn)十進(jìn)制 0011 10012^(6-1) + 2^(5-1) + 2^(4-1) + 2^(1-1) = ...
    u14e閱讀 1,405評(píng)論 0 1
  • C#位運(yùn)算講解與示例首先每一個(gè)權(quán)限數(shù)都是2的N次方數(shù)如:k1=2 ; //添加k2=4 ; //刪除k3=8; /...
    好怕怕閱讀 3,201評(píng)論 0 2
  • 烏云密布,看著天上一層層的烏云,總感覺(jué)大雨就要下下來(lái)了。。。。。。 與你分享我頭頂?shù)哪瞧瑸踉?在回家的路上,我在輕...
    姑蘇伴歌閱讀 223評(píng)論 0 1
  • 今早見(jiàn)到兒是在餐廳,兒仍是守護(hù)著隊(duì)旗,帶著隊(duì)友,排著整齊的隊(duì)伍出現(xiàn)在我的眼前。我沒(méi)有和他打招呼,只是在一旁...
    大愛(ài)無(wú)疆楊青閱讀 290評(píng)論 0 3

友情鏈接更多精彩內(nèi)容