2017-02-03 6 views
1

этот вывод программы Boolector для печати в двоичном формате. Но мне нужно в шестнадцатеричном формате. так, как печатать шестнадцатеричный формат в boolector.как распечатать вывод в шестнадцатеричном формате

(set-logic QF_BV) 
(set-info :smt-lib-version 2.0) 

(declare-const val1 (_ BitVec 16)) 
(declare-const val2 (_ BitVec 16)) 

(declare-const gen_mul (_ BitVec 16)) 
(declare-const eval1 (_ BitVec 32)) 
(declare-const eval2 (_ BitVec 32)) 
(declare-const org_mul (_ BitVec 32)) 
(declare-const rem17 (_ BitVec 32)) 
(declare-const res (_ BitVec 16)) 

(assert (= gen_mul (bvmul val1 val2))) 
(assert (= eval1 (concat #x0000 val1))) 
(assert (= eval2 (concat #x0000 val2))) 
(assert (= org_mul (bvmul eval1 eval2))) 
(assert (= rem17 (bvurem org_mul #x00010001))) 
(assert (= res ((_ extract 15 0) rem17))) 
(assert (= val1 #xb621)) 
(assert (= val2 #xd620)) 
(check-sat) 

(get-value (val1)) 
(get-value (val2)) 
(get-value (org_mul)) 
(get-value (gen_mul)) 
(get-value (eval1)) 
(get-value (eval2)) 
(get-value (org_mul)) 
(get-value (rem17)) 
(get-value (res)) 
(exit) 

Пробег: ./boolector ex.smt2

+1

Я сомневаюсь, что Boolector предлагает эту функцию - вам, вероятно, придется преобразовать результат самостоятельно –

ответ

0

Boolector (по крайней мере версия 2.2.0) имеет -x, --hex варианты, чтобы заставить шестнадцатеричный вывод. Вполне возможно, что он может игнорировать эти параметры, если размер битового вектора не кратен 4.

Смежные вопросы