位算符 左移和右移

2021-08-18 16:14:25 字數 941 閱讀 9204

一、知識點

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 回歸,測試通過後就結束了,專案交給運維上線,之後投入下乙個專案繼續重複這樣的流程。這樣的流程看似沒什麼問題,但缺點是,測試同學非常被動 當需求質量 開發質量差的時候,你只能被...