1. gzyueqian
      13352868059

      什么是java中的位移運算法?

      更新時間: 2020-02-21 16:36:55來源: 粵嵌教育瀏覽量:6715

              想要掌握好一門技術的話,那么肯定是要經過日積月累的學習才可以的掌握的好的,特別是對于沒有基礎的學員來說,想要真正的掌握好這門技術的話還是要經過系統性的學習的。下面粵嵌科技的小編就給大家講解下什么是java中的位移算法?




         1、 “有符號”左移位運算符(<<)能將運算符左邊的運算對象向左移動運算符右側指定的位數(在低位補0)。


        左移移位相當于乘以2,例如


        3 << 2 //12 則是將數字3左移2位 3*2*2 = 3*(2的2次方)


        分析:首先把3轉換為二進制數字0000 0000 0000 0000 0000 0000 0000 0011,然后把該數字高位(左側)的兩個零移出,其他的數字都朝左平移2位,在低位(右側)的兩個空位補零。則得到的終結果是0000 0000 0000 0000 0000 0000 0000 1100,則轉換為十進制是12.數學意義:


        在數字沒有溢出的前提下,對于正數和負數,左移一位都相當于乘以2的1次方,左移n位就相當于乘以2的n次方。


        2、“有符號”右移位運算符(>>)則將運算符左邊的運算對象向右移動運算符右側指定的位數。 “有符號”右移位運算符使用了“符號擴展”:若值為正,則在高位插入0;若值為負,則在高位插入1。


        >>運算規則:按二進制形式把所有的數字向右移動對應位數,低位移出(舍棄),高位的空位補符號位,移位后得到的數字為正數則補0,負數補1。


        例如11 >> 2,則是將數字11右移2位


        分析:11的二進制形式為:0000 0000 0000 0000 0000 0000 0000 1011,然后把低位的兩個數字移出,因為該數字是正數,所以在高位補零。則得到的終結果是0000 0000 0000 0000 0000 0000 0000 0010.轉換為十進制是3.數學意義:右移一位相當于除2,右移n位相當于除以2的n次方。


        3、Java也添加了一種“無符號”右移位運算符(>>>),它使用了“零擴展”:無論正負,都在高位插入0


        4、右移一位相當于除以2,左移一位(在不溢出的情況下)相當于乘以2;移位運算速度高于乘除運算。


        5、位運算符的優先級


         ~的優先級,其次是<<、>>和>>>,再次是&,然后是^,優先級的是|。


             如果說你想要學習java技術的話,那么大家可以按照我們粵嵌科技的java學習路線去學習的,大家也可以來我們的java培訓班進行免費試聽我們的java課程。獲取的方式可以通過點擊我們文章下面的獲取試聽資格按鈕來獲取我們的免費課程試聽資格,來更加深入的了解我們粵嵌科技。

      免費預約試聽課

      亚洲另类欧美综合久久图片区_亚洲中文字幕日产无码2020_欧美日本一区二区三区桃色视频_亚洲AⅤ天堂一区二区三区

      
      

      1. 亚洲视频免费在线观看 | 久久国产精品一线视频 | 亚洲变态另类天堂AV手机版 | 日韩精品免费在线视频 | 亚洲一区国产美女在线速度快 | 亚洲国产另类久久久精品女同 |