Как представить отрицательное число в битвекторе?

Название говорит само за себя. Я пытаюсь представить -1 как следующее: (_ bv-1 32)и z3 жалуется.

Как мне представить такое ограничение, как 3x - 5y <= 10 в битовом векторе? По какой-то причине я не хочу использовать линейное целое число.

1 ответ

Решение

Обычно это делается с помощью кодирования двух дополнений. Короткая версия

-x = flip(x) + 1

где flip(x) просто переворачивает все биты в x,

Другие вопросы по тегам