z3py:为什么 BitVecVal(5,3) 小于 BitVecVal(8,3)

z3py: Why BitVecVal(5,3) is smaller than BitVecVal(8,3)

这是我的代码:

from z3 import *

a = BitVecVal(5,3)
b = BitVecVal(8,3)

print a
print b

s = Solver()

s.add(a<b)

print s.check()
print s.model()

输出是

5
0
sat

谁能帮我理解为什么 'a' 小于 'b'?

< 是有符号比较。

5 = -3

8 = 0

所以,是的,-3 < 0。