二進制運算

位運算符

運算符 符號 含義 例子
& 兩邊都爲真時爲真 1&1 =1
| 任何一邊爲真時爲真 1
~ 取反 如果1則爲0 如果0爲1 ~1 = 0
^ 異或 兩邊相同爲1 兩邊不同爲0 1<>1返回false 1<>2返回true

邏輯運算符

運算符 符號 含義 例子
邏輯與 && 判斷兩邊 都爲真時爲真 true&&true =true
|| 判斷兩邊 任何一邊爲真時爲真 true

計算

  1000 1100
  0011 1110
^ 00001101
& 00001100
| 10111110

進制轉十進制

10000001 = 1*2^0 +...+ 1*2^7=257
11111111 = 1*2^0+.....+1*2^7  = 128+64+32+16+8+4+2+1

有符號數的原碼、補碼、反碼的第一位是0表示正數,1表示負數
如果是無符號數,那就不表示符號,也作爲數據位
如果是移碼,第一位是0表示負數,是1表示正數


<<:左移運算符,num << 1,相當於num乘以2
>>:右移運算符,num >> 1,相當於num除以2
>>>:無符號右移,忽略符號位,空位都以0補齊 

1.左移運算符

在二進制數運算中,在信息沒有因移動而丟失的情況下,每左移1位相當於乘2。如4 << 2,結果爲16。

2.右移運算符

與左移相反,對於小整數,每右移1位,相當於除以2。在右移時,需要注意符號位問題。對無符號數據,右移時,左端空出的位用0補充。對於帶符號的數據,如果移位前符號位爲0(正數),則左端也是用0補充;如果移位前符號位爲1(負數),則左端用0或用1補充,取決於計算機系統。對於負數右移,稱用0 補充的系統爲“邏輯右移”,用1補充的系統爲“算術右移”。

發佈了53 篇原創文章 · 獲贊 91 · 訪問量 20萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章