位運(yùn)算符
按位與(&):如果兩個(gè)輸入位都是1,則生成一個(gè)輸出位1,否則是0
按位或(|):如果兩個(gè)輸入位里面只要有一個(gè)是1,則生成一個(gè)輸出位1;只有兩個(gè)輸出位都是0,才生成0
按位異或(^):如果兩個(gè)輸入位不全是1或者0,即只要不相同,則產(chǎn)生輸出位1;相同則生成0
按位取反(~):取反運(yùn)算
移位操作運(yùn)算符,運(yùn)算對(duì)象是二進(jìn)制的“位”
按位左移(<<):將操作符左邊的運(yùn)算對(duì)象向左移動(dòng)右側(cè)指定的位數(shù),低位補(bǔ)0
按位右移(>>):“有符號(hào)”右移位運(yùn)算符(>>)則將運(yùn)算符左邊的運(yùn)算對(duì)象向右移動(dòng)運(yùn)算符右側(cè)指定的位數(shù)!坝蟹(hào)”右移位運(yùn)算符使用了“符號(hào)擴(kuò)展”:若值為正,則在高位插入0;若值為負(fù),則在高位插入1。
無符號(hào)右移(>>>) :將運(yùn)算符左邊的運(yùn)算對(duì)象向右移動(dòng)運(yùn)算符右側(cè)指定的位數(shù),它使用了“零擴(kuò)展”:無論正負(fù),都在高位插入0.這一運(yùn)算符是C或C++沒有的。
上面這些位此操作符都可以和=結(jié)合使用,意思把得到的結(jié)果再付給左邊的變量。