Вычитание чисел IEEE 754 одинарной точности

Проблема в (-1.100 х 2^5) + (1.1001 х 2^7). После сдвига, чтобы получить их одинаковую величину, вы получите

 1.10010 x 2^7
-0.01100 x 2^7

Моя проблема с переноской. Я не уверен, правильно ли я это делаю. Ответ, который я получил, был 0,01110 x 2^7, это правильно? Кроме того, при вычитании, как я узнаю, получу ли я отрицательное значение? Если ответ, который я имею выше, является правильным, будет ли правильное представление в IEEE одинарной точности

0 10000110 011100000000000000000000

1 ответ

Проверьте свою работу, добавив разницу (результат) к вычитаемому (число после знака минус). Если вы получили minuend (число перед знаком минус), вы сделали это правильно.

    11      // the carries from the addition
  0.01100   // the difference you computed
+ 0.01110   // the subtrahend
---------
  0.11010   // should be the minuend, if you computed the difference correctly

Это не наименьшее (1.10010), поэтому вы вычли неправильно.

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