在逐位代数中求解未知数

MxL*_*evs 2 python bitwise-xor

假设我有3个字节,XY和Z.

X XOR Y导致Z.

我知道X和Z是什么,但我不知道Y是什么,所以我正在编写一个快速的脚本来解决这个问题.

虽然,我不知道我怎么会开始.我手工做了几个,这只是逐个比较每个位的问题,但我怎么能在python中做到这一点?我解决Y的程序似乎不够明确.

因为我只需要实际使用这样的东西,所以写它或者只是使用能为我做这件事的东西就足够了.

Fre*_*Foo 7

如果x ^ y == z,那么x ^ 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])
Run Code Online (Sandbox Code Playgroud)

  • 那就对了.它并不神奇:它几乎是XOR最重要的特性. (5认同)