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