2

XY と Z の 3 バイトがあるとします。

X XOR Y の結果は Z になります。

X と Z が何であるかは知っていますが、Y が何であるかはわかりません。そのため、これを理解するための簡単なスクリプトを作成しています。

とはいえ、どうやって始めたらいいのかわからない。私はそれらのいくつかを手作業で行いましたが、各ビットを1つずつ比較するだけの問題でしたが、Pythonでこれを行うにはどうすればよいですか? Y を解くための私の手順は十分に明確ではないようです。

私は実際にこのようなものを使用する必要があるだけなので、それを書くか、私のためにこれを行うものを使用するだけで十分です。

4

1 に答える 1

7

の場合x ^ y == zx ^ z == y。これはPythonで次のように確認できます

>>> X = range(256)  # all byte values
>>> Y = range(256)
>>> all(x ^ z == y for x in X for y in Y for z in [x^y])
于 2011-07-17T18:38:12.473 に答える