这里只是一个快速的,是否可以从i找到aValue和bValue的原始值?如果是这样的话?
感谢。
uint i = Convert.ToUInt32((aValue << 2) & 0x300) | bValue;
答案 0 :(得分: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
答案 1 :(得分:0)
许多值可以产生相同的结果。
即使您有其中一个值,您也无法确定另一个值,并非总是如此,因为在操作过程中信息会丢失,这是不可逆转的。