Когда я умножаю число с плавающей точкой, используя multu, я должен игнорировать результат в регистре LO? - PullRequest
0 голосов
/ 01 сентября 2009

В нашем проекте мы берем от пользователя два числа с плавающей запятой, сохраняем их в целочисленных регистрах и обрабатываем их как числа с плавающей запятой IEEE 754, манипулируя битами с помощью маскирования. Поэтому после того, как я умножу 23-битное значение дроби, должен ли я учитывать результат, помещенный в регистр LO, если я хочу вернуть значение с плавающей запятой одинарной точности (32 бита) как произведение?

1 Ответ

0 голосов
/ 04 сентября 2009

Прежде всего, я надеюсь, что вы имеете в виду 24 битов значения, поскольку вам нужно будет включить неявный бит мантиссы в ваше умножение.

Во-вторых, если вы хотите, чтобы ваше умножение было правильно округлено, как в IEEE-754, вам (иногда) понадобится нижняя часть умножения, чтобы получить правильный округленный результат.

С другой стороны, если вам не нужно реализовывать правильное округление, и вы сдвигаете биты дроби влево перед умножением, вы сможете игнорировать младшее слово результата.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...