byterat

            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            54 隨筆 :: 0 文章 :: 15 評論 :: 0 Trackbacks
          1. 左移操作: x << n
            x可以是byte, short, char, int, long基本類型, n(位移量)只能是int型

            編譯器的執(zhí)行步驟:
            1) 如果x是byte, short, char類型, 則將x提升為int;
            2) 如果x是byte, short, char, int類型, 則n被重新賦值(過程是:取n的補(bǔ)碼的低5位再轉(zhuǎn)成十進(jìn)制的int值,相當(dāng)對n取32模: n=n%32);
               如果x是long型, 則n被重新賦值(過程是:取n的補(bǔ)碼的低6位再轉(zhuǎn)成十進(jìn)制的int值,相當(dāng)對n取64模: n=n%64);
               (因?yàn)閕nt類型為4個(gè)字節(jié),即32位,移動(dòng)32位將沒有任何意義.對于long則是模64)
            3) 對x左移n個(gè)位數(shù), 整個(gè)表達(dá)式產(chǎn)生一個(gè)新值(x的值不變);
          2. <<是左移符號,列x<<1,就是x的內(nèi)容左移一位(x的內(nèi)容并不改變)
          3. >>是帶符號位的右移符號,x>>1就是x的內(nèi)容右移一位,如果開頭是1則補(bǔ)1,是0責(zé)補(bǔ)0,(x的內(nèi)容并不改變).
          4. >>>是不帶符號位的右移,x>>>1就是x的內(nèi)容右移一位,開頭補(bǔ)0(x的內(nèi)容并不改變)
          posted on 2007-08-01 10:12 比特鼠 閱讀(2806) 評論(0)  編輯  收藏 所屬分類: Java
          主站蜘蛛池模板: 麻江县| 福海县| 十堰市| 景宁| 富锦市| 阜南县| 盐池县| 黄冈市| 周至县| 宜章县| 星座| 达拉特旗| 穆棱市| 鄂州市| 周至县| 浪卡子县| 锡林郭勒盟| 巩留县| 二连浩特市| 湘潭市| 信阳市| 老河口市| 六枝特区| 天全县| 潮州市| 龙泉市| 安新县| 称多县| 武汉市| 张家口市| 涞水县| 石渠县| 姜堰市| 贵德县| 烟台市| 六盘水市| 台北县| 海盐县| 尼玛县| 太原市| 漳州市|