一、知識點
1.位運算只有5種:與、或、異或、左移、右移。
2.與、或、異或、左移、右移的運算規律。
與、或、異或的運算規律
與(&)
0&0=0
1&0=0
0&1=0
1&1=1
或(|)
0|0=0
1|0=1
0|1=1
1|1=1
異或(^)
0^0=0
1^0=1
0^1=1
1^1=0
3.左移變大,右移變小。
1、左移(<<)
1.含義:m<2.作用:
(1)用來將乙個數的各二進位制位全部左移若干位。
(2)還可利用左移運算子計算a的第b個二進位制位是什麼。
(3) 左移一位後相當於乘2。
3.規則:
(1)高位左移後溢位,捨棄。
(2)在左移的時候,最坐邊的n位將被丟棄,同時在最右邊補上n個0.
4.例子:
將a的二進位制數左移2位,右補0。若a=15,即二進位制數00001111,左移2位得00111100,即十進位制數60
4.特點/優點/缺點
=>優點:
(1)因為位運算比"×"(乘法)運算快,所以可對**進行優化,
二、右移(>>)
1.含義:右移運算m>>n表示把m右移n位。在右移n位的時候,最右邊的n位將被丟棄。
2.作用:
3.規則:
(1)如果數字是乙個無符號的數值,則用0填補最左邊的n位;如果數字是乙個有符號的數值,則用數字的符號位填補最左邊的n位。
(2)如果是正數,右移之後在左邊補上n個0;如果是負數,則右移之後在左邊補上n個1.
4.例子:
應用:(1)「二進位制中1的個數」
(2)陣列中數字出現的次數
(3)不用加減乘除做加法
左移運算子和右移運算子
左移操作 規則 右邊空出的位用0填補 高位左移溢位則捨棄該高位。例如 10 的二進位制為 0000 1010 那麼10左移3為就是 0101 0000,結果就是80.10 3 80 右移操作 規則 左邊空出的位用0或者1填補。正數用0填補,負數用1填補。注 不同的環境填補方式可能不同 低位右移溢位則...
左移和右移計算
左移和右移計算 正數的左移和右移 以3為例 3的二進位制為 右移2位的時候將最右的11去掉左邊補00結果為 00000000 十進是中的0 左移2位的時候將最左的00去掉右邊補00結果為 00001100 十進是中的12 對於 3來說,負數的都是以補碼的形式存在於計算器中 補碼 反碼 1 3的二進位...
測試左移和右移
大家熟悉的測試工作可能是,接到專案後參與需求評審,然後根據需求文件寫寫用例和準備指令碼,等開發提測之後正式開始測試 提bug 回歸,測試通過後就結束了,專案交給運維上線,之後投入下乙個專案繼續重複這樣的流程。這樣的流程看似沒什麼問題,但缺點是,測試同學非常被動 當需求質量 開發質量差的時候,你只能被...