位運算和進制轉換

本文主要內容來源於Java核心技術卷一

概念

位運算指的是對二進制進行的計算處理。主要有 與(&)、或(|)、異或(^)、求反(~)

  • 與運算

其特徵爲:“都是1的時候纔是1”
如:

13 & 7 =

計算過程爲:
13的二進制:1101
7的二進制: 0111
得到結果 0101 轉換成10進制則是5

  • ###或運算
    其特徵爲:“有一位是1結果就是1”

    13 | 7

計算過程爲
1101
0111
按照或運算得到結果是
1111
轉化成10進製爲:15

  • ###移位運算
    向左移位:<<
    向右移位:>>
    表示二進制數向左或者向右移位
    例如

    int x = 2;
    int result = x << 2;
    System.out.println(result);//8

計算結果過程如下
2的二進制爲 0010
向左移位2則爲 1000 ,轉換成10進制則得到結果爲8。

進制之間的轉換

參考http://c.biancheng.net/view/1725.html

面試題

&、| 和 &&、||有什麼區別?
答:
1.都可以做邏輯運算符,做邏輯運損符時,&和|的所有條件都需要執行,而&&和或的並不是所有條件都需要進行判斷。例如 11 || 22 || 33 此時 11執行完畢後則不會再進行後續判斷,而 11 | 22 | 3==3 則需要將所有條件都執行。
2.|和&可以做位運算符,對數據進行二進制計算。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章