dream.in.java

          能以不變應萬變是聰明人做事的準則。萬事從小事做起,積累小成功,問鼎大成功,是成功者的秘訣。

          [Java]按位異或運算符一點小記

          [Java]按位異或運算符一點小記
          [ 2007-4-18 21:45:00 | By: 卡拉阿風 ]
           
          按位異或運算符
          兩個操作數中,如果兩個相應位相同,則結果為0,否則為1
          即:
              0^0=0, 1^0=1, 0^1=1, 1^1=0
          例如:
              00101010^00010111=00111101

          1)如果需使用一個整數的某些特定的位翻轉,可使用另一個
          相應位為1的操作數與原來的整數進行按位異或操作實現。
          下面的例子對整數變量 ii的第四位翻轉
           int revertFouth=ii^8;
          其余位則沒有變化

          2)通過按位異或運算可以實現兩個值的交換。而不使用臨
          時變量。例如交換兩個整數a,b的值可通過下列語句實現:

          int a=15,b=24;
          //a的最右邊8位為00001111,b的最右邊8位為00011000
          //a和b其余位為0,下同
          a=a^b; //a的最右邊8位為00010111,a=23
          b=b^a; //b的最右邊8位為00001111,b=15
          a=a^b; //a的最右邊8位為00011000,a=24

          *位邏輯運算表達式返回兩個操作數中數據長度較長的數據
          類型
          其中較小的左側將被填滿,若為整數,則填滿0,
          若為負數,則左側填滿1
           

          posted on 2009-03-25 21:27 YXY 閱讀(752) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 孙吴县| 彭水| 曲沃县| 徐州市| 丰镇市| 武安市| 韶山市| 清丰县| 云梦县| 天柱县| 和政县| 英超| 华安县| 十堰市| 长垣县| 普安县| 上蔡县| 岱山县| 长乐市| 绥芬河市| 普陀区| 棋牌| 永川市| 嵊泗县| 曲麻莱县| 马尔康县| 嘉荫县| 南川市| 绥滨县| 宁阳县| 丹棱县| 隆林| 保康县| 金川县| 康马县| 明星| 台北县| 泾川县| 台南县| 兴海县| 吉隆县|