【发布时间】:2012-03-26 09:21:28
【问题描述】:
首先我不确定这个按位运算发生了什么。 我编写代码并作为代码 sn-ps 提供给其他方。
现在如果 VAR 是无符号 8 位整数(无符号字符)并且 r 是 0 或 1 或 2 或 4。 如果 r 的值已知并且结果值在那里,则可以反转跟随。 VAR |= 1 //即 200,其中 VAR 为 192,r 为 3
例如VAR的初始值为192,r的值为3 *结果为200*。
现在如果我有这个 200,并且我知道 r 的值是 3,我可以把它倒回 192 吗?
我希望是最简单的,但我不知道这些按位运算,请见谅。
谢谢
【问题讨论】:
-
没有。从
0 | 1或1 | 1可以产生一个位值1。 -
有道理,甚至 VAR
-
@Jasonz 没错。因为您不知道已移出的位。只要多个输入可以产生相同的输出,则该函数是不可逆的。
标签: c++ algorithm math bit-manipulation