Quick actions

cmd+k|ctrl+k

Navigation

Languages

BitOperation

Snippet info

Language

Java

Visibility

public

Author

super2bai

Created

2016-09-08T04:35:29Z

Updated

2016-09-08T04:35:29Z

class Main {
    public static void main(String[] args) {
        System.out.println("Hello World!");
        /*
         * 与  & :
           两个操作数中位都为1,结果才为1,否则结果为0
           
           OUTPUT:128
           a的值是129,转换成二进制就是10000001,
           b的值是128,转换成二进制就是10000000。
           只有两个位都是1,结果才是1,
           结果为10000000,即128。
         */
        int a=129;
        int b=128;
        System.out.println("a&b="+(a&b));
        
        /**
         或  |  :
         两个位只要有一个为1,那么结果就是1,否则就为0,下面看一个简单的例子。
         
         OUTPUT:129
 
          a的值是129,转换成二进制就是10000001,
          b的值是128,转换成二进制就是10000000,
         只有两个位有一个是1,结果才是1,
         结果wei10000001,即129。
         */ 
        System.out.println("a|b="+(a|b));
        
        /**
         非  ~:
        如果位为0,结果是1,如果位为1,结果是0
        OUTPUT:-3
        
        ad的值是129,转换成二进制为10,补满32位为0000 0000 0000 0000 0000 0000 0000 0010
        取反码1111 1111 1111 1111 1111 1111 1111 1101,即-3  
         */
        a=2;
        System.out.println("~a="+(~a));

        /**
         异  ^  :
         两个操作数的位中,相同则结果为0,不同则结果为1。
 
        OUTPUT:13
        a 的值是15,转换成二进制为1111,
        b 的值是2,转换成二进制为0010,
        结果为1101 即13。
         */ 
         a=15;
         b=2;
         System.out.println("a^b="+(a^b));

    }
}
INFO