Z3 有没有一个选项可以将位向量打印成有符号小数?

Z3 有没有一个选项可以将位向量打印成有符号小数?,z3,Z3,如何在Z3中将位向量打印为有符号小数?您可以使用命令(set option:pp bv literals false)强制Z3以十进制格式显示位向量文字。实际上,它将使用SMT 2.0格式显示它们:(\ubv)。考虑下面的例子: (simplify #x00f8) (set-option :pp-bv-literals false) (simplify #x00f8) Z3将打印 #x00f8 (_ bv248 16) Z3不支持有符号小数。如果n的最高有效位为1,我们可以添加一个选项,将位

如何在Z3中将位向量打印为有符号小数?

您可以使用命令
(set option:pp bv literals false)
强制Z3以十进制格式显示位向量文字。实际上,它将使用SMT 2.0格式显示它们:
(\ubv)
。考虑下面的例子:

(simplify #x00f8)
(set-option :pp-bv-literals false)
(simplify #x00f8)
Z3将打印

#x00f8
(_ bv248 16)

Z3不支持有符号小数。如果
n
的最高有效位为1,我们可以添加一个选项,将位向量
n
显示为
(bvneg(bv)
。这就足够了吗?

谢谢,利奥。这就足够了,但我只是偶尔会遇到这些问题(在为学生做练习时),所以我不确定是否值得为此付出额外的实现努力。我最终在问题中编码了否定,我怀疑最初的满意值为负值。