【java提升】(17)---Java 位運算符

Java 位運算符 &、|、^、~、<<、>>

之前學過有關java的運算符,不過開發了這麼久也不多用過這個。如今因爲開發須要,因此如今再來回顧整理下有關java的運算符。java

主要運算符有如下:與(&)或(|)異或(^)取反(~)左移(<<)右移(>>)3d

一 與(&) 和 (|)

一、&(按位與)

規則:將兩邊的數轉換爲二進制位,而後運算最終值。運算規則即(兩個爲真才爲真)1&1=1 , 1&0=0 , 0&1=0 , 0&0=0。code

舉例blog

4&7 這個運算的結果是多少?開發

3&5 這個運算的結果是多少?get

二、|(按位或)

規則 將兩邊的數轉換爲二進制位,而後運算最終值。不一樣的是運算規則(一個爲真即爲真)1|0 = 1 , 1|1 = 1 , 0|0 = 0 , 0|1 = 1it

舉例基礎

3|6 這個運算的結果是多少?二進制

5|9 這個運算的結果是多少?im


2、異或(^) 和 取反(~)

一、異或(^)

規則 異就是不一樣,其運算規則爲1^0 = 1 , 1^1 = 0 , 0^1 = 1 , 0^0 = 0

舉例

3^6 這個運算的結果是多少?

5^9 這個運算的結果是多少?

二、取反(~)

規則 取反就是1爲0,0爲1。

舉例

~5 這個運算的結果是多少?

這個其實就是,就是把1變0,0變1。

注意:二進制中,最高位是符號位 1表示負數,0表示正數。

~15 這個運算的結果是多少?


3、左移運算(<<) 和 右移運算(>>)

一、左移運算(<<)

規則 左移就是把全部位向左移動幾位。

舉例

6 << 2 這個運算的結果是多少?

9 << 2 這個運算的結果是多少?

公式 M << n 其實能夠這麼算 M << n = M * 2^n

二、右移運算(>>)

規則 這個跟左移運算大致是同樣的,可是仍是有點不一樣的,不一樣點在於對於正數和負數補位的時候補的不同,負數補1,正數補0

舉例

12 >> 2 這個運算的結果是多少?

-9 >> 2 這個運算的結果是多少?

從這裏就能夠看出 正數右移補0,負數右移補1


4、負數的進製表示

咱們來思考下

一、負的十進制的轉二進制

對於十機制的負數,如何用二進制來表示:

思路三步曲: 一、正數二進制 二、反碼 三、反碼+1

舉例

-1 如何轉換成二進制?

說明 -1在計算機裏用二進制表達就是全1

二、負的二進制轉十進制

上面思路是負的十進制轉二進制,那麼一樣負的二進制轉10進制跟上面相反就能夠了。

思路三步曲 一、負數的二進制碼 二、二進制碼-1 三、取反

舉例

1111 1101 如何轉換成十進制?


參考

一、Java位運算符

二、Java中正負數二進制表示

三、Java基礎——十進制負數轉換爲二進制、八進制、十六進制




我相信,不管從此的道路多麼坎坷,只要抓住今天,早晚會在奮鬥中嚐到人生的甘甜。抓住人生中的一分一秒,賽過虛度中的一月一年!(3)
相關文章
相關標籤/搜索