2017-02-03 3 views
1

dieses Booleator-Programm Druckausgabe im Binärformat. Aber ich brauche im hexadezimalen Format. so wie hexdezimales Format in Booler zu drucken.wie Ausgabe im hexadezimalen Format zu drucken

(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) 

Run: ./boolector ex.smt2

+1

Ich bezweifle, dass Boolector diese Funktionalität bietet - Sie müssen wahrscheinlich die Ausgabe selbst konvertieren –

Antwort

0

Boolector (mindestens Version 2.2.0) hat die -x, --hex Optionen hexadezimale Ausgabe zu erzwingen. Es ist möglich, dass diese Optionen ignoriert werden, wenn die Bit-Vektor-Größe kein Vielfaches von 4 ist.