亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

幾道位移運算題

系統(tǒng) 1788 0

1 << -1

1 << -1是多少?

字面上看1左移-1位,似乎是1右移1位的意思。

但實際結(jié)果卻是-2147483648,而-2147483648 = - 2 31 。

也就是說實際上1 << -1等同于:

1 << 31

為什么?╮(╯_╰)╭沒有什么為什么,就是這樣定義的,可以說為了配合Javascript中整型是32位的吧。

也就是說m << -n等同于:

m << (-n % 32 + 32)

在c語言中,這樣寫編譯的時候會拋錯的。

但是,Java中的這個式子的結(jié)果和Javascript中相同。準(zhǔn)確的說是在運算數(shù)字為32位整形的時候。比如如果我們將數(shù)字改成長整形,其結(jié)果有不同了。

      
        public
      
      
        class
      
      
         test{
    
      
      
        public
      
      
        static
      
      
        void
      
      
         main(String[] args){
        System.out.println(
      
      1L << -1);    
      
        //
      
      
         -9223372036854775808
      
      
            }
    
}
      
    

?

那么1 >> -1呢?

左移負(fù)數(shù)位,似乎是固定為0的。

無論哪個數(shù)來移,移多少位都一樣。

      alert(1 >> -1)    
      
        //
      
      
         0
      
    

?

(1 << 31)為什么是負(fù)數(shù)

首先位移運算是基于補(bǔ)碼的,所以先復(fù)習(xí)一下補(bǔ)碼的知識。

正整數(shù)的補(bǔ)碼就是其本身。

負(fù)整數(shù)的補(bǔ)碼是, 其符號位不變,數(shù)值部分的各位取反,然后整個數(shù)加1。

(32位整數(shù)-2147483648有些特別,其二進(jìn)制表示是-10000000000000000000000000000000,而且補(bǔ)碼是 10000000000000000000000000000000

所以1的補(bǔ)碼是 00000000000000000000000000000001,左移31位就變成了 10000000000000000000000000000000,即 -2147483648。

?

(1 << 31) - 1是多少?

因為1 << 31是32位整形最小能表示的數(shù)字,在Java中這個式子的結(jié)果是2147483647,也就是說溢出然后變成所能表示的最大整數(shù)了。

但Javascript不太相同,這個式子的結(jié)果是-2147483649,因為Javascript引擎自動將其變成64位浮點數(shù)來表示了。

?

一道筆試題

-13 >> 2是多少?

講了這么多,這道題就很簡單了。

因為-13 10 是-1101 2 ,則補(bǔ)碼是1111....0011,則右移2位則為1111...1100。所以最后結(jié)果是-100 2 ,即結(jié)果是-4 10 。

我們也可以記住,右移1位操作是除以2再向下取整。

?

幾道位移運算題


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦?。。?/p>

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 国产女人体一区二区三区 | 国产精品久久久久影院 | 国产精品你懂的 | 国产精彩视频在线 | 久久精品国产波多野结衣 | 亚洲精品一 | 久久精品高清 | 国产精品自在线天天看片 | 久久成人免费视频 | 精品亚洲永久免费精品 | 国产伦码精品一区二区三区 | 国产午夜精品一区二区三区嫩草 | 免费观看视频成人国产 | 亚洲男人天堂久久 | 中文字幕一区二区区免 | 麻豆精品久久久一区二区 | 日本高清不卡码 | 久久精品亚洲精品国产色婷 | 亚洲欧美日本视频 | 亚洲精品成人a | 日韩欧美一区二区三区久久 | 成 人 黄 色 大 片 | 亚洲+自拍+色综合图区一 | 精品国产免费观看久久久 | 爆操极品美女 | 国产成人8x视频一区二区 | 国产亚洲精品福利 | 久久99久久精品国产99热 | 成人小视频在线观看 | 亚洲高清中文字幕一区二区三区 | 色综合欧美亚洲另类久久 | 品色视频 | 国产在线观看成人免费视频 | 国产日韩不卡免费精品视频 | 亚洲天堂久久久 | 最新中文字幕在线 | 九九影音| 手机看片在线精品观看 | 狠狠色伊人亚洲综合成人 | 香蕉国产人午夜视频在线 | 亚洲一区二区在线免费观看 |