java中的位運算子

2021-08-11 04:14:20 字數 786 閱讀 1217

我記得第一次聽說位運算子好像是從大二的微機原理,那個時候學並不好,後來程式設計好像也沒有用到過,但是最近在複習一些東西的時候,發現這才是最終要的基礎,比起算術運算子高階大氣上檔次多了。

下面就對今天覆習的位運算子做一下筆記

&:按位與。

|:按位或。

~:按位非。

^:按位異或。

<

>>:右位移運算子。

>>>:無符號右移運算子。

關於前面幾個,請看下面的真值表

主要記錄一下後面三個吧

1.左位移

向左移一位,空出的就是低位,高位溢位,空位補0,相當於乘以2.例如:

二進位製碼依次左移1位。0000 0001→0000 0010→0000 0100→0000 1000.對應的分別是1,2,4,8

2.右位移

這個時候要分有符號還是無符號

(1)如果是無符號

空出高位全補0 低位溢位  . 相當於每次除以2,例如

二進位製碼10100110無符號右移,則右邊兩位溢位,左邊兩位補0

1010 0110→0010 1001

(2)如果有符號

又分兩種情況

1.邏輯右移

低位溢位,高位補0(和無符號右移是一樣的)

2.算術右移

低位溢位,高位補符號位。

例如 1011 1010右移三位10111010>>3

結果變成1111 0111

java位運算子

按位與運算子 參加運算的兩個資料,按二進位制位進行 與 運算。運算規則 0 0 0 0 1 0 1 0 0 1 1 1 即 兩位同時為 1 結果才為 1 否則為0 例如 3 5 即0000 0011 0000 0101 0000 0001 因此,3 5的值得1。另,負數按補碼形式參加按位與運算。與運...

Java位運算子

今天在學習 hashmap 的時候,發現這麼一段 static final int tablesizefor int cap 方法的作用就是,輸入乙個數,如果該數為2的冪次方,那麼將原數返回回去,如果不是,那麼會返回另乙個數,也會是2的冪次方。看完我就覺得我該好好看看位運算子了。位運算子主要針對二進...

java 位運算子

移位運算子就是在二進位制的基礎上對數字進行平移。按照平移的方向和填充數字的規則分為三種 左移 帶符號右移 和 無符號右移 在移位運算時,byte short和char型別移位後的結果會變成int型別,對於byte short char和int進行移位時,規定實際移動的次數是移動次數和32的餘數,也就...