2016-02-15 2 views
0

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

1.10010 x 2^7 
-0.01100 x 2^7 

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

0 10000110 011100000000000000000000

+0

Нет. Проводка кода поможет нам выяснить, что происходит не так ... – 22degrees

ответ

0

Проверьте вашу работу, добавив разницу (результат) в вычитаемое (число после знака минуса). Если вы получите 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), поэтому вы неправильно вычитаете.

+0

Хорошо, что имеет смысл, если я хочу проверить свою работу, но как бы я отслеживаю заимствование, чтобы правильно вычитать. – Frank

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