我需要做一个逆计算,该运算包括按位与运算,该怎么做?
我尝试了“异或”操作,但无济于事。
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?你不知道