ここで簡単に、i から aValue と bValue の元の値を見つけることは可能ですか? もしそうなら、どのように?
ありがとう。
uint i = Convert.ToUInt32((aValue << 2) & 0x300) | bValue;
ここで簡単に、i から aValue と bValue の元の値を見つけることは可能ですか? もしそうなら、どのように?
ありがとう。
uint i = Convert.ToUInt32((aValue << 2) & 0x300) | bValue;
複数のペアが同じ結果を生成する可能性があるため、 から値のペアを見つけることはできません。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 つを持っていたとしても、操作中に情報が失われ、元に戻すことができないため、常にではありません。