首先我不确定在这个按位操作中发生了什么。 我得到的代码被写入并作为代码片段提供给其他方。是VAR | = 1 << 2; reverisble?
现在如果VAR是无符号的8位整数(无符号字符),并且r是0或1或2或4. 如果r的值已知并且结果值在那里,则可以颠倒。 VAR | = 1 < < r; //即200,其中VAR为192且r是3
对于VAR的例子初始值是192和为r的值是3 * 结果是200 *。
现在,如果我这个200,我知道[R这是3,我可以逆转回192的价值呢?
我希望它是最容易的,但我不知道这些按位操作,所以原谅我。
感谢
号可能已经无论从'0产生的比特值1 | 1'或'1 | 1'。 – Peteris 2012-03-08 21:40:16
有意义,甚至VAR << = 3;不能逆转?我不知道我在问什么,但它是问题的一部分。 – 2012-03-08 21:46:18
@Jasonz这是正确的。因为你不知道已经移位的位。无论何时多个输入都能产生相同的输出,那么该函数是不可逆的。 – Mysticial 2012-03-08 21:47:25