0

这里只是一个快速的,是否可以从 i 中找到 aValue 和 bValue 的原始值?如果是这样怎么办?

谢谢。

uint i = Convert.ToUInt32((aValue << 2) & 0x300) | bValue;
4

2 回答 2

1

不可能从 中找到对值i,因为多对可能产生相同的结果。

很容易看出您是否考虑bValue设置所有位的示例。i然后无论 的值如何,都将设置 的所有位aValue。现在考虑设置每个奇数位,aValue设置每个偶数位以及bValue设置最低有效位的bValue情况。同样,对于一对非常不同的aValue和,结果将设置所有位bValue

aValue=00110011, bValue=11111111 ---> i=11111111
aValue=10110000, bValue=11111111 ---> i=11111111
aValue=00000000, bValue=11111111 ---> i=11111111
aValue=01010101, bValue=10101011 ---> i=11111111
于 2012-05-02T09:52:41.137 回答
0

许多值可以产生相同的结果。

即使您拥有其中一个值,您仍然无法确定另一个值,并非总是如此,因为信息在操作过程中丢失,这是不可逆的。

于 2012-05-02T09:54:05.693 回答