1. 程式人生 > >Java 位運算

Java 位運算

必須 計算 絕對值 nbsp pan 數字 異或 ont 符號

1.源碼 2.反碼 3.補碼

註意的規則:

1.正數的三個碼都是一致的,不需要轉換

2.負數必須轉換成補碼才能運算

3.計算機真正參與運算的是補碼

4.在java中所有的數字都是由符號的, 符號位0正數,1負數

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

Java 位運算