from z3 import *
x = Int('x') #declaration
y = Int('y') #declaration
solve((x ^ y)==2) #solving
我无法在z3中使用python执行xor操作。请帮助告诉我写错了什么是正确的写法,如果我做错了,请提示其他方法。请尽快回复。
答案 0 :(得分:1)
您可以在Python中对整数使用^
:
>>> 2^3
1
但是,z3不使用整数,而是使用自己的Int对象,并且它们不支持xor。您必须使用BitVec
类型。
x = BitVec('x', 32)
y = BitVec('y', 32)
solve(x^y==2, show=True)