<< 左移運算子 :就是該數對應二進位製碼整體左移,左邊超出的部分捨棄,右邊補零。舉個例子:253的二進位製碼1111 1101,在經過運算253<<2後得到11 1111 0100。
>> 右移運算子 :該數對應的二進位製碼整體右移,左邊的用原有標誌位補充,右邊超出的部分捨棄。
>>> 無符號右移 : 不管正負標誌位為0還是1,將該數的二進位製碼整體右移,左邊部分總是以0填充,右邊部分捨棄。
number << 1 = number*2; number >> 1 = number/2
在移位操作前,編譯器會先把數轉換成int型別,由於int型別只占用32位,所以:number >> 32 = number
例:math.round(11.4) = 11 ;math.round(11.5) = 12 ; math.round(-11.5) = 11 ; math.round(-11.6) = -12
例:math.ceil(11.4) = 12.0 ; math.ceil(11.5) = 12 ; math.ceil(-11.5) = -11 ;math.ceil(-11.6) = -11
例:math.floor(11.4) = 11.0 ; math.floor(11.5) = 11 ; math.floor(-11.5) = -12 ;math.ceil(-11.6) = -12
左移和右移計算
左移和右移計算 正數的左移和右移 以3為例 3的二進位制為 右移2位的時候將最右的11去掉左邊補00結果為 00000000 十進是中的0 左移2位的時候將最左的00去掉右邊補00結果為 00001100 十進是中的12 對於 3來說,負數的都是以補碼的形式存在於計算器中 補碼 反碼 1 3的二進位...
測試左移和右移
大家熟悉的測試工作可能是,接到專案後參與需求評審,然後根據需求文件寫寫用例和準備指令碼,等開發提測之後正式開始測試 提bug 回歸,測試通過後就結束了,專案交給運維上線,之後投入下乙個專案繼續重複這樣的流程。這樣的流程看似沒什麼問題,但缺點是,測試同學非常被動 當需求質量 開發質量差的時候,你只能被...
移位(左移,右移和無符號右移)
package sort public class shift int cc a m int dd a m int ee a m int qq x m 1 int pp x m int yy x m 1 system.out.println c c system.out.println cc cc ...