【发布时间】:2014-03-11 12:59:29
【问题描述】:
(declare-const a Int)
(declare-const b Int)
(declare-const c (_ BitVec 32))
(declare-const d (_ BitVec 32))
(assert (= b (bv2int c)))
(assert (= c (int2bv a)))
(check-sat)
我对上面代码导致的异常“int2bv 需要一个参数”感到困惑,如何正确使用函数 int2bv?
【问题讨论】:
-
问题是
int2bv需要一个大小(正在创建的新位向量的长度对应于整数)。但是,用于指定此的旧语法((assert (= c (int2bv[32] a))),例如,将a转换为 32 位长的位向量)会给出错误unexpected character(例如:rise4fun.com/Z3/uOPG),因此语法可能已更改。这是旧用法的示例:stackoverflow.com/questions/8719764/…
标签: z3