private static Integer a = 128;
private static Integer b = 129;
public static void main(String[] args) {
a();
b();
c();
d();
}
/**
* 與運算
*/
public static void a(){
System.out.println("與運算");
System.out.println(Integer.toBinaryString(a)+"&"+Integer.toBinaryString(b));
System.out.println(Integer.toBinaryString(a&b));
System.out.println(a+"&"+b);
System.out.println(a&b);
}
/**
* 或運算
*/
public static void b(){
System.out.println("或運算");
System.out.println(Integer.toBinaryString(a)+"|"+Integer.toBinaryString(b));
System.out.println(Integer.toBinaryString(a|b));
System.out.println(a+"|"+b);
System.out.println(a|b);
}
/**
* 非運算
*/
public static void c(){
System.out.println("非運算");
System.out.println("~"+Integer.toBinaryString(a));
System.out.println(Integer.toBinaryString(+(~a)));
System.out.println("~"+a);
System.out.println(~a);
}
/**
* 異或運算
*/
public static void d(){
System.out.println("異或運算");
System.out.println(Integer.toBinaryString(a)+"^"+Integer.toBinaryString(b));
System.out.println(Integer.toBinaryString(a^b));
System.out.println(a+"^"+b);
System.out.println(a^b);
}
與運算
10000000&10000001
10000000
128&129
128
或運算
10000000|10000001
10000001
128|129
129
非運算
~10000000
11111111111111111111111101111111
~128
-129
異或運算
10000000^10000001
1
128^129
1
1.與運算符
與運算符用符號“&”表示,其使用規律如下:
兩個操作數中位都爲1,結果才爲1,否則結果爲0
2.或運算符
或運算符用符號“|”表示,其運算規律如下:
兩個位只要有一個爲1,那麼結果就是1,否則就爲0
3.異或運算符
異或運算符是用符號“^”表示的,其運算規律是:
兩個操作數的位中,相同則結果爲0,不同則結果爲1
4.非運算符
非運算符用符號“~”表示,其運算規律如下:
如果位爲0,結果是1,如果位爲1,結果是0