亚洲欧洲国产欧美一区精品,激情五月亚洲色五月,最新精品国偷自产在线婷婷,欧美婷婷丁香五月天社区

      考試首頁 | 考試用書 | 培訓課程 | 模擬考場 | 考試論壇  
      全國  |             |          |          |          |          |         
        當前位置:計算機等級 > 二級考試 > Java語言程序設(shè)計 > 考試輔導 > 文章內(nèi)容
        

      全國計算機二級考試Java語言程序設(shè)計知識點(46)

      中華IT學院   【 】  [ 2016年5月11日 ]

      位運算符

        位運算符主要針對二進制,它包括了:“與”、“非”、“或”、“異或”,分別用"&"、"~"、" | "、"^"。其中:

        與運算(&)兩個操作數(shù)的位都為 1,結(jié)果才為 1,否則結(jié)果為 0。

        非運算(~)的操作數(shù)的位如果為 0,結(jié)果是 1,如果為 1,結(jié)果是 0。

        或運算(|)兩個操作數(shù)的位只要有一個為 1,那么結(jié)果就是 1,否則就為 0。

        異或運算(^)的兩個操作數(shù)的位相同時結(jié)果為 0,不同時結(jié)果為 1。

        public class data13{
        public static void main(String[] args){
        int a=129;
        int b=128;
        int x=15;
        int y=2;
        System.out.println("a 和 b 與的結(jié)果是:"+(a&b));
        System.out.println("a 和 b 或的結(jié)果是:"+(a|b));
        System.out.println("x 與 y 異或的結(jié)果是:"+(x^y));
        }
        }

        運行結(jié)果:

        a 和 b 與的結(jié)果是:128
        a 和 b 或的結(jié)果是:129
        x 與 y 異或的結(jié)果是:13

        總結(jié):

        Java定義了位運算符,應用于整數(shù)類型(int),長整型(long),短整型(short),字符型(char),和字節(jié)型(byte)等類型。

        位運算符作用在所有的位上,并且按位運算。假設(shè)a = 60,和b = 13;它們的二進制格式表示將如下:

        A = 0011 1100
        B = 0000 1101
        -----------------
        A&b = 0000 1100
        A | B = 0011 1101
        ^ B = 0011 0001
        ~A= 1100 0011

        下表列出了位運算符的基本運算,假設(shè)整數(shù)變量A的值為60和變量B的值為13:

      操作符 描述 例子
      按位與操作符,當且僅當兩個操作數(shù)的某一位都非0時候結(jié)果的該位才為1。 (A&B),得到12,即0000 1100
      | 按位或操作符,只要兩個操作數(shù)的某一位有一個非0時候結(jié)果的該位就為1。 (A | B)得到61,即 0011 1101
      ^ 按位異或操作符,兩個操作數(shù)的某一位不相同時候結(jié)果的該位就為1。 (A ^ B)得到49,即 0011 0001
      按位補運算符翻轉(zhuǎn)操作數(shù)的每一位。 (~A)得到-60,即1100 0011
      <<  按位左移運算符。左操作數(shù)按位左移右操作數(shù)指定的位數(shù)。 A << 2得到240,即 1111 0000
      >>  按位右移運算符。左操作數(shù)按位右移右操作數(shù)指定的位數(shù)。 A >> 2得到15即 1111
      >>>  按位右移補零操作符。左操作數(shù)的值按右操作數(shù)指定的位數(shù)右移,移動得到的空位以零填充。 A>>>2得到15即0000 1111

        實例

        下面的簡單示例程序演示了位運算符。復制并粘貼下面的Java程序并保存為Test.java文件,然后編譯并運行這個程序:

        public class Test {
        public static void main(String args[]) {
        int a = 60; /* 60 = 0011 1100 */
        int b = 13; /* 13 = 0000 1101 */
        int c = 0;
        c = a & b; /* 12 = 0000 1100 */
        System.out.println("a & b = " + c );
        c = a | b; /* 61 = 0011 1101 */
        System.out.println("a | b = " + c );
        c = a ^ b; /* 49 = 0011 0001 */
        System.out.println("a ^ b = " + c );
        c = ~a; /*-61 = 1100 0011 */
        System.out.println("~a = " + c );
        c = a << 2; /* 240 = 1111 0000 */
        System.out.println("a << 2 = " + c );
        c = a >> 2; /* 215 = 1111 */
        System.out.println("a >> 2 = " + c );
        c = a >>> 2; /* 215 = 0000 1111 */
        System.out.println("a >>> 2 = " + c );
        }
        }

        以上實例編譯運行結(jié)果如下:

        a & b = 12
        a | b = 61
        a ^ b = 49
        ~a = -61
        a << 2 = 240
        a >> 15
        a >>> 15
      首頁 1 2 尾頁
      分享到:
      本文糾錯】【告訴好友】【打印此文】【返回頂部
      將考試網(wǎng)添加到收藏夾 | 每次上網(wǎng)自動訪問考試網(wǎng) | 復制本頁地址,傳給QQ/MSN上的好友 | 申請鏈接 | 意見留言 TOP
      關(guān)于本站  網(wǎng)站聲明  廣告服務  聯(lián)系方式  站內(nèi)導航  考試論壇
      Copyright © 2007-2013 中華考試網(wǎng)(Examw.com) All Rights Reserved