一、位運算
(1)按 位 與 &
如果兩個相應的二進制形式的對應的位數都為1,則結果為1,記為同1為1,否則為0。首先我們看一下對正數的運算
分別看一下正數和負數的具體運算步驟
正數直接取二進制運算,負數取反加一得補碼再運算,得到的結果符號位為0,不需要做任何操 作直接給出結果,后面會講到如果結果為負數的情況
(2)按位或 |
有1為1,否則為0
分別看一下正數和負數的具體運算步驟
講一下負數求反和補碼的直接給結果,當運算結果符號位是1為負數,那就需要進行減1操作,再按位取反,這個時候得到的才是正確的結果
(3)異或 ^
相同為0,不同為1
二、移位運算
(1)左 移 (<< )
右邊空出的位用0填補高位左移溢出則舍棄該高位。計算機中常用補碼表示數據,注,用補碼計算
(2)右 移 (>> )
左邊空出的位用0或者1填補。正數用0填補,負數用1填補。注:不同的環境填補方式可能不同;低位右移溢出則舍棄該位。
(3)無 符 號 右 移 (>>> )
無符號右移:正數與右移規則一樣,負數的無符號右移,就是相應的補碼移位所得,在高位補0即可
原文地址:https://www.cnblogs.com/xiuyu/p/8428963.html