我们如何使用python在z3中对整数使用xor运算?

时间:2013-06-29 13:09:35

标签: python z3 z3py

from z3 import *
x = Int('x') #declaration
y = Int('y') #declaration
solve((x ^ y)==2) #solving

我无法在z3中使用python执行xor操作。请帮助告诉我写错了什么是正确的写法,如果我做错了,请提示其他方法。请尽快回复。

1 个答案:

答案 0 :(得分:1)

您可以在Python中对整数使用^

>>> 2^3
1

但是,z3不使用整数,而是使用自己的Int对象,并且它们不支持xor。您必须使用BitVec类型。

x = BitVec('x', 32)
y = BitVec('y', 32)

solve(x^y==2, show=True)