1.源碼 2.反碼 3.補碼java
注意的規則:spa
1.正數的三個碼都是一致的,不須要轉換源碼
2.負數必須轉換成補碼才能運算計算機
3.計算機真正參與運算的是補碼移動
4.在java中全部的數字都是由符號的, 符號位0正數,1負數co
5.符號位就是最高位,也是最左邊的一位數字
6.負數的反碼=符號位不變+其餘位取反位運算
7.負數的補碼=反碼+1
算數右移和算數左移
算數右移:
>>:位移的方向,右
1/2/3……:位移的位數
1.正數符號位不變
2.低位溢出刪除
3.高位補0
4.負數先轉換成補碼再進行算數右移動運算
算數左移:
1.符號位不變
2.高位溢出刪除
3.低位補0
邏輯右移,沒有邏輯左移:
1.無論符號位
2.低位溢出刪除
3.高位補0
位運算:
& | ^ ~
1.&按位與:兩位都是1,結果纔是1
2.|按位或:兩位有一位是1,結果就是1
3.^按位異或:兩位必須一個爲0,一個爲1,結果纔是1
4.~按位取反:只能是一個表達式使用,
(01.源碼所有取反02.轉化成反碼03.轉換成補碼)
正數的按位取反,等於自身的負數-1,負數的按位取反,等於自身的絕對值-1