public class 位运算符test {
public static void main(String[] args){
int a = 121;
int b = 129;
System.out.println(Integer.toBinaryString(b));
System.out.println(Integer.toBinaryString(a|b));
/*
0000 0000 0000 0000 0000 0000 0111 1001
0000 0000 0000 0000 0000 0000 1000 0001
0000 0000 0000 0000 0000 0000 1111 1001
a|b;有1就1,全0才0
System.out.println(Integer.toBinaryString(b));
System.out.println(Integer.toBinaryString(a&b));
/*
0000 0000 0000 0000 0000 0000 0111 1001
0000 0000 0000 0000 0000 0000 1000 0001
0000 0000 0000 0000 0000 0000 0000 0001
a&b;都1才1,有0就0
*/
System.out.println(Integer.toBinaryString(~a));
/*
0000 0000 0000 0000 0000 0000 0111 1001
1111 1111 1111 1111 1111 1111 1000 0110
^a;二进制取反
*/
System.out.println(Integer.toBinaryString(a^b));
/*
0000 0000 0000 0000 0000 0000 0111 1001
0000 0000 0000 0000 0000 0000 1000 0001
0000 0000 0000 0000 0000 0000 1111 1000
a^b;相同为0,不同为1
*/
}
}
public static void main(String[] args){
int a = 121;
int b = 129;
//|或test
System.out.println(Integer.toBinaryString(a));System.out.println(Integer.toBinaryString(b));
System.out.println(Integer.toBinaryString(a|b));
/*
0000 0000 0000 0000 0000 0000 0111 1001
0000 0000 0000 0000 0000 0000 1000 0001
0000 0000 0000 0000 0000 0000 1111 1001
a|b;有1就1,全0才0
*/
//与test
System.out.println(Integer.toBinaryString(a));System.out.println(Integer.toBinaryString(b));
System.out.println(Integer.toBinaryString(a&b));
/*
0000 0000 0000 0000 0000 0000 0111 1001
0000 0000 0000 0000 0000 0000 1000 0001
0000 0000 0000 0000 0000 0000 0000 0001
a&b;都1才1,有0就0
*/
//取反test
System.out.println(Integer.toBinaryString(a));System.out.println(Integer.toBinaryString(~a));
/*
0000 0000 0000 0000 0000 0000 0111 1001
1111 1111 1111 1111 1111 1111 1000 0110
^a;二进制取反
*/
//异或test
System.out.println(Integer.toBinaryString(a));
System.out.println(Integer.toBinaryString(b));System.out.println(Integer.toBinaryString(a^b));
/*
0000 0000 0000 0000 0000 0000 0111 1001
0000 0000 0000 0000 0000 0000 1000 0001
0000 0000 0000 0000 0000 0000 1111 1000
a^b;相同为0,不同为1
*/
}
}