更新時間:2022-03-21 12:15:43 來源:動力節點 瀏覽1477次
學習Java是一個積累的問題。也許你可以通過自學掌握一些膚淺的技術,通過系統的學習Java基礎知識,但是你還是需要自己的技術和工作經驗的積累才能精通。
1.“有符號”左移運算符(< <)可以將運算符左側的操作數向左移動運算符右側指定的位數(低位填0)。
左移相當于乘以2,例如
3 < < 2 // 12 將數字 3 左移 2 位2 2 = 3 *(2 的二次方)
分析:先將3轉換成二進制數0000 0000 0011,然后將該數的高位(左)的兩個零移出,其他數左移2位,最后填入低階(右)。那么最終的結果就是0000 0000 0000 1100,轉換成十進制就是12。數學意義:
在數不溢出的前提下,對于正數和負數,左移一位相當于乘以 2 的 1 次方,左移 n 位相當于乘以 2 的 n 次方。
2.有符號右移運算符(> >)將運算符左側的操作數向右移動運算符右側指定的位數。“有符號”右移運算符使用“符號擴展”:如果值為正,則在高位插入0;如果值為負,則在高位插入 1。
>> 運算規則:按二進位博弈形式將所有數字右移相應的位數,移出(丟棄)低位,用高位中的空位填充符號位。如果移位后得到的數為正數,則填0,負數填1。
例如,11 > > 2 將數字 11 向右移動 2 位
解析:11的二進制形式為:0000 0000 0000 0000 1011,然后將www.sangpi.com的后兩位低位移出。因為數字是正數,所以高位填零。最終結果是0000 0000 0000 0000 0000 0010。轉換成十進制是3。數學意義:右移一位相當于除2,右移n位相當于除2的n次方。
3.Java還增加了一個“無符號”右移運算符(> > >),它使用“零擴展”:無論正負,高位插入0
4.右移一位相當于除以2,左移一位(不溢出)相當于乘以2;移位運算比乘法和除法更快。
5.位運算符的優先級
~是最高優先級,依次是<、> >和> > >,其次是&,然后是^,最低優先級是|。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習