按位AND的反向操作是什么?

时间:2011-03-16 19:13:50

标签: java jmf j#

如何从ab获取c?反向操作会是什么?

以下是代码:

class  s
{
    public static void main(String ar[])
    {

        int a = 20;

        int b = 5;

        int c = 0;

        c = (a & b) ;

        System.out.println(c);

        int d = (c & b);

        System.out.println(d);
    }
}

2 个答案:

答案 0 :(得分:8)

你做不到。如果c中的位为0且b中的相应位为0,则无法知道a中的相应位是0还是1.通过类似的参数,按位或(|运营商)也是不可逆转的。另一方面,按位XOR(^运算符) 是可逆的。

答案 1 :(得分:1)

如果查看and逻辑运算的真值表,可以看到它包含三个falses和一个true。因此无法逆转。

只有equalsxor具有平衡的真值表,它们是两个可逆的布尔运算符。