public class A {
public static void main(String[] args)
{
boolean a = false ,b =true ,c =false,d =true;
a =b^c^d;
System.out.println(a);
int a1 = 0, b1 =1, c1 =2;
a1 = b1^c1;
System.out.println(a1);
}
}
                int a1 = 0, b1 =1, c1 =2;
                a1 = b1^c1;
                System.out.println(a1);
麻烦大家帮我解释下,谢谢了

解决方案 »

  1.   

    首先异或的运算表是
      0 0 1 1
    ^ 0 1 0 1
    ---------
      1 0 1 0
    所以b1 = 1 = 01 ^ c1 = 2 =10
    b1  01
    c1  10
    ^   11   =   3
      

  2.   

    运算规则:参与运算的数字,低位对齐,高位不足的补零,对应的二进制位相同为零,不相同为1。 
    适用场合:判断数字对应的位是否相同。 
    示例代码: 
              int a = 1; 
             int b = 2; 
             int c = a ^ b; 
    计算过程: 
           4的二进制形式为   0000 0000 0000 0000 0000 0000 0000 0001 
          10的二进制形式为  0000 0000 0000 0000 0000 0000 0000 0010 
       按照计算规则结果为    0000 0000 0000 0000 0000 0000 0000 0011 
    这个数字转换为十进制就是数字3 
      

  3.   

    sorry

     1的二进制形式为  0000 0000 0000 0000 0000 0000 0000 0001 
     2的二进制形式为  0000 0000 0000 0000 0000 0000 0000 0010