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));
}
}