我需要做一个逆计算,该运算包括按位与运算,该怎么做?

我尝试了“异或”操作,但无济于事。

        int i = 254 & 2;
        Console.Write("254 & 2 ={0}", i + "\n");
        Console.Write("{0} ^ 2 ={1}",i, (i ^ 2) + "\n");

不起作用我该如何计算?

最佳答案

给定i,您将无法取回254。通过&编码,您破坏了第二位中未存储的数据。

 1111 1110
&0000 0010
----------
 0000 0010

您将如何恢复丢失的6位?对于x & 2 == 2,您几乎可以输入任何x,这是事实。
 0010 1010 // = 42
&0000 0010
----------
 0000 0010
x是254还是42?你不知道

10-02 17:43