2016-02-22 2 views
2

я прочитал следующий пример на книгу:Основные вопросы с плавающей точкой?

enter image description here

Я думаю, что последнее представление должно быть {0 | 1 0 0 0 1 | 1 1 0 1 1 1 0}, поскольку 11.10111010 в нормированной форме - 1.110111010. есть ли какие-то ошибки?

+0

при выполнении вычислений, всегда применяйте основные принципы, чтобы проверить свои ответы. Мы добавляем два разных положительных числа. Результат должен быть больше, чем больший из двух входов, но меньше, чем в два раза больший вход. Единственными возможными показателями результата являются 10010 и 10011. –

ответ

1

Вы принимаете такое же соглашение вперед, как и назад. В примере не используется неявный ведущий 1/скрытый бит и в этом полностью согласован.

Чтобы продемонстрировать противоположный вариант, если нормализация включает неявный ведущий 1/скрытый бит, потом слагаемое/augend и результат должен быть

111.001000 
+ 1.10011010 
-------------- 
1000.10111010 

приводят к двоичному кодированному результату

0|10011|00010111 
+0

Я не получил его. возможно ли более ясно? – LoveComplexity

+0

11.10111010 в нормализованной форме - 1.110111010 - это okey? – LoveComplexity

+0

Вы претендуете на неявное лидерство 1 для обратного кодирования из числа в формат памяти с плавающей запятой. Но тогда вы также должны применить это соглашение к предыдущему преобразованию операндов из формата памяти в число. – LutzL

1

это все тот же номер:   0,111 * 2 ,   1,11 * 2 ,   11.1 * 2. Похоже, примерный формат не имеет скрытого бита и помещает двоичную точку слева.

+0

МОЙ ВОПРОС находится на нормализации раздела. !! – LoveComplexity

+1

Конечно, моя точка зрения заключается в том, что нормализация «x.y» - это всего лишь один из способов сделать это. В этом формате нормализация, по-видимому, означает «.xy», что имеет смысл, если нет скрытого бита. – DigitalRoss

+0

Вы имеете в виду {0 | 1 0 0 0 1 | 1 1 0 1 1 1 0} с последней цифрой в моем вопросе одинаково – LoveComplexity

2

Рассматривая ответы и комментарии, я думаю, что может возникнуть основное недопонимание термина «нормализация». Нормализация не подразумевает скрытый бит.

Это означает, что наиболее значимая ненулевая цифра будет иметь определенное положение относительно точки оснований. Например, в десятичной системе, 1 может быть представлено в виде 100 * 10 -2, 10 * 10 -1, 1 * 10 , 0,1 * 10 и т.д. Нормализованная система может потребовать использования например 0.1 * 10 , положив цифру «1» сразу справа от десятичной точки.

В двоичной нормированной системе один из битов известен как один. Не хранить этот бит является общим выбором, но не требуется, чтобы быть нормализованной системой.

В случае примера видно, как входы были выражены в суммировании, что нет скрытого бита, нормализованная форма имеет самый старший бит сразу справа от двоичной точки и несмещенную экспоненту 0 представляются как 10000.

Binary 11.10111010 равно двоичный 0.1110111010 с непредвзятым показателем десятичных 2, бинарная 10. это делает предвзятое показатель 10010, и мантиссу крайних левых бит 1110111010.

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