在逐位代数中求解未知数

时间:2011-07-17 18:32:36

标签: python bitwise-xor

假设我有3个字节,X Y和Z。

X XOR Y导致Z。

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

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

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

1 个答案:

答案 0 :(得分: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])