青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

woaidongmao

文章均收錄自他人博客,但不喜標題前加-[轉貼],因其丑陋,見諒!~
隨筆 - 1469, 文章 - 0, 評論 - 661, 引用 - 0
數據加載中……

Java中的位操作,位判斷

Java中的位操作指定包括:
~                   
按位非(NOT
&                  
按位與(AND
|                   
按位或(OR
^                  
按位異或(XOR
>>                
右移
>>>              
無符號右移
<<                
左移
前面幾個都非常簡單,主要是移位操作比較容易出錯.

首先要搞清楚參與運算的數的位數,如int的是32位。long的是64位。
int i = 1;
i
的二進制原碼表示為:
00000000000000000000000000000001

long l = 1;
l
的二進制原碼表示為:
0000000000000000000000000000000000000000000000000000000000000001


二、
正數沒有反碼、補碼,也可以說正數的反碼、補碼跟原碼一樣。
負數的反碼為原碼逐位取反,
int i = -1;
10000000000000000000000000000001,
最高位是符號位。正數為0,負數為1
逐位取反后:
01111111111111111111111111111110
即反碼。
反碼加1
01111111111111111111111111111111
即補碼。
負數都是用補碼參與運算的。得到的也是補碼,需要減1取反獲得原碼。

三、常用的位運算符--0在位運算中是比較特殊的。
異或。      相同為0,相異為1   任何數與0異或都等于原值。 
與。        11 00;  任何數與0異或都等于0。  
或。        11 00。  任何數與0或都等于原值。
<<
左移。      0
>>
右移。      符號位是00,是11
>>>
無符號右移。補0
          逐位取反

四、負數參與的運算,得到的是補碼,需要將補碼先減1,然后逐位取反,得到原碼。即為運算結果。
0
例外,如果得到的是0,則不需減1和取反。
另外,兩個正數運算后得到的就是原碼,不需減1和取反。


舉例:
1
-1,
-1
10000000000000000000000000000001--
原碼
01111111111111111111111111111110--
反碼
01111111111111111111111111111111--
補碼
1
00000000000000000000000000000001--
原碼

1^-1等于
01111111111111111111111111111111^
00000000000000000000000000000001=
01111111111111111111111111111110--
補碼
01111111111111111111111111111101--
反碼
10000000000000000000000000000010--
原碼==-2
1^-1=-2

舉例:
1^-2
-2
10000000000000000000000000000010--
原碼
01111111111111111111111111111101--
反碼
01111111111111111111111111111110--
補碼
1
00000000000000000000000000000001--
原碼
1^-2等于
01111111111111111111111111111110^
00000000000000000000000000000001=
01111111111111111111111111111111--
補碼
01111111111111111111111111111110--
反碼
10000000000000000000000000000001--
原碼==-1


1.<<
邏輯左移,右邊補0,符號位和其他位一樣.
正數:
x<<1
一般相當于2x,但是可能溢出.
溢出范圍: 230~(231-1) 二進制表示 010000...00001111....1111,移位后最高為變?yōu)?span lang="EN-US">1
,變成負數了.
負數:
x<<1
一般也相當于2x,也有可能溢出.所以, x*32可以寫成x<<5
溢出范圍: -231~-(230+1)二進制表示10000...000101111...1111,移位后最高為變成0,變成正數了.

2.>>
算術右移,和上面的不對應,為正數時左邊補0,為負數時左邊補1.
x>>1,
相當于x/2,余數被舍棄,因為這個是縮小,所以不會溢出.
不過有一點要注意: -1右移多少位都是-1.
另外舍棄的余數是正的, 3>>1=1 舍棄的余數是1.
-3>>1=-2
舍棄的余數也是1,而不是-1.
對于正數 x>>1x/2相等
對于負數 x>>1x/2不一定相等.

3.>>>
邏輯右移,這個才是和<<對應的
這個把符號位一起移動,左邊補0
對于正數,>>>>>是一樣的
對于負數,右移之后就變成正數了.

可以使用Integer.toBinaryString(int i)來看01比特,更加直觀.


考慮下面的代碼: 
for (val = 0; val < 100000; val +=5) { alterX = val * 8; myResult = val * 2; }


用移位操作替代乘法操作可以極大地提高性能。下面是修改后的代碼: 

for (val = 0; val < 100000; val += 5) { alterX = val << 3; myResult = val << 1; }

  修改后的代碼不再做乘以8的操作,而是改用等價的左移3位操作,每左移1位相當于乘以2。相應地,右移1位操作相當于除以2。值得一提的是,雖然移位操作速度快,但可能使代碼比較難于理解,所以最好加上一些注釋。

posted on 2009-08-03 19:12 肥仔 閱讀(614) 評論(0)  編輯 收藏 引用 所屬分類: Web-后臺

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            久久久噜噜噜久久久| 亚洲美女视频网| 好吊妞**欧美| 国产精品综合视频| 国产欧美精品久久| 国产亚洲一区在线| 久热re这里精品视频在线6| 亚洲欧美日韩精品久久亚洲区| 日韩一区二区精品葵司在线| 日韩视频在线观看| 亚洲欧美中文在线视频| 欧美一区二区免费视频| 久久久噜噜噜久久中文字免| 快she精品国产999| 欧美日韩一区二区三区免费| 国产精品久久久久久久一区探花| 国产精品男女猛烈高潮激情| 国产在线拍偷自揄拍精品| 亚洲第一黄网| 在线亚洲伦理| 免费观看不卡av| 国产精品99久久99久久久二8 | 激情小说另类小说亚洲欧美| 狠狠色狠色综合曰曰| 亚洲精品视频在线播放| 亚洲欧美国产精品va在线观看| 久久九九电影| 欧美精品久久久久久久久久| 亚洲男女毛片无遮挡| 蜜桃久久av一区| 日韩视频亚洲视频| 久久亚洲风情| 国产精品亚洲综合天堂夜夜| 亚洲国产综合在线看不卡| 亚洲欧美另类国产| 91久久精品国产91性色tv| 午夜欧美不卡精品aaaaa| 欧美激情精品久久久久久久变态 | 国产精品国产亚洲精品看不卡15| 在线观看精品视频| 久久国产加勒比精品无码| 亚洲精选在线观看| 美女福利精品视频| 亚洲成人资源| 玖玖视频精品| 久久精品99| 国产偷国产偷精品高清尤物| 中文日韩在线视频| 亚洲开发第一视频在线播放| 久久综合一区二区三区| 精品91在线| 嫩草伊人久久精品少妇av杨幂| 久久国产精品网站| 99国产精品国产精品久久 | 一区二区三区高清视频在线观看| 久久综合给合| 揄拍成人国产精品视频| 久久三级视频| 久久国产天堂福利天堂| 国产伦精品一区| 久久国产精品99国产精| 亚洲欧美日韩综合aⅴ视频| 国产精品午夜在线观看| 欧美在线观看一区二区三区| 在线午夜精品| 国产午夜精品久久久| 久久一区二区三区超碰国产精品| 欧美怡红院视频一区二区三区| 国产美女一区二区| 久久gogo国模啪啪人体图| 先锋影音久久| 伊甸园精品99久久久久久| 欧美激情va永久在线播放| 免费日韩av电影| 一本色道久久综合精品竹菊| 99国产精品久久久| 国产一区视频观看| 欧美国产日韩亚洲一区| 欧美日韩成人网| 欧美一区二区三区在| 久久国产欧美精品| 亚洲欧洲日本国产| 一本久久青青| 韩国av一区| 午夜久久久久| 日韩视频精品在线观看| 亚洲伦伦在线| 国产美女精品视频| 欧美国产一区视频在线观看| 欧美日韩三级电影在线| 久久丁香综合五月国产三级网站| 久久精品女人的天堂av| 99国内精品久久| 欧美亚洲视频在线观看| 亚洲精品免费在线| 性欧美xxxx视频在线观看| 亚洲日本成人女熟在线观看| 一个人看的www久久| 狠狠色丁香婷婷综合久久片| 亚洲精品日韩综合观看成人91| 国产视频一区三区| 日韩亚洲一区二区| 在线观看欧美| 午夜精品久久久久久99热| 亚洲美女区一区| 久久久精品国产一区二区三区| 一二三区精品福利视频| 久久久久久综合| 欧美一区二区三区在线视频 | 欧美日韩国产页| 久久偷看各类wc女厕嘘嘘偷窃| 欧美日本不卡| 毛片精品免费在线观看| 国产精品亚发布| 日韩视频欧美视频| 亚洲精品123区| 久久夜色精品国产亚洲aⅴ| 欧美一级大片在线观看| 欧美日韩成人免费| 亚洲福利专区| 亚洲国产高清在线观看视频| 亚洲一区日韩| 亚洲视频免费在线| 欧美jizzhd精品欧美巨大免费| 久久久综合网| 黄色国产精品| 久久激情网站| 美日韩精品视频免费看| 国内精品福利| 欧美中文在线观看| 久久精品综合网| 国产一区二区三区直播精品电影 | 欧美激情第五页| 亚洲第一黄色| 亚洲国产精品一区二区三区| 久久久精品999| 欧美成人免费在线| 亚洲级视频在线观看免费1级| 久久久久久久综合日本| 久久综合综合久久综合| 亚洲成人在线免费| 欧美激情一区在线观看| 日韩午夜av电影| 午夜电影亚洲| 国产亚洲高清视频| 欧美在线视频在线播放完整版免费观看| 亚洲一区二区四区| 国产精品久久久久久久久动漫| 亚洲一区二三| 久久欧美中文字幕| 亚洲精品久久久久中文字幕欢迎你| 老司机精品视频一区二区三区| 欧美成人精品一区二区| 亚洲人成小说网站色在线| 欧美激情中文字幕在线| 中文高清一区| 久久久久久久999精品视频| 亚洲福利视频三区| 欧美日韩国产精品专区| 亚洲一区免费网站| 蜜臀av国产精品久久久久| 亚洲精品麻豆| 国产精品毛片大码女人| 久久成人精品无人区| 亚洲国产一成人久久精品| 亚洲欧美国产精品桃花| 一区二区在线不卡| 欧美新色视频| 麻豆国产精品一区二区三区| 日韩亚洲一区在线播放| 麻豆精品一区二区av白丝在线| 中国成人黄色视屏| 黄色一区二区三区| 欧美三级乱码| 久久女同互慰一区二区三区| 亚洲精品久久久久久下一站| 亚欧成人在线| 亚洲精品欧美日韩专区| 国产精品欧美日韩一区| 欧美成人精品一区二区| 亚洲男同1069视频| 亚洲精品美女在线观看播放| 久久青草久久| 亚洲欧美日韩国产精品| 亚洲经典在线| 国产综合香蕉五月婷在线| 欧美精品福利在线| 久久久久久久精| 亚洲一区观看| 一本到12不卡视频在线dvd| 久热精品在线| 久久精品视频在线看| 亚洲免费综合| 一区二区三区高清| 亚洲国产欧洲综合997久久| 国产精品综合| 国产精品区一区二区三区| 欧美日韩伦理在线| 欧美精品入口| 欧美日韩的一区二区|