2013-10-26 2 views
1

Итак, я работаю с 64-битными числами с плавающей запятой в Verilog для синтеза, в идеале я хотел бы сделать -A * B, где A и B - это два числа. Я прошел мимо A * B, так что теперь все в порядке, если я просто изменил значение первого бита 0 на 1 или 1 на 0, чтобы он представлял -A * B.Изменение знака 64-битного числа с плавающей запятой в verilog?

вроде как,

А [0] = ~ А [0];

Заранее благодарим за любые предложения.

ответ

3

Да! Вот и все.

Имейте в виду, что отрицание 0 даст вам -0. (Это разные битовые шаблоны с плавающей запятой.) Неважно, будет ли это иметь для вас значение, зависит от вашего приложения.

+0

В идеале возможно 0 с помощью программы. Какой эффект может иметь значение -0 в программе, если я должен был добавить или умножить его на другой номер FP позже? – user2045143

+0

@ user2045143: '-0 * x' является' -0' для всех конечных 'x'. '-0 + x' совпадает с' +0 + x' (при условии округления по умолчанию). –

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