2013-12-19 2 views
1

номера с плавающей запятой описаны с использованием бита знака, показателя степени и мантиса, который имеет форму 1.XXXXXXX. Поскольку по умолчанию присутствует 1, оно игнорируется. Итак, как будет выглядеть 1.0 * 2^0 в стандарте с плавающей запятой? четыре байта, заполненные нулями? то как представляется нуль?Представление 1.0 в плавающей запятой IEEE

+1

http://ru.wikipedia.org/wiki/IEEE_754-1985#Примеры показывают бит-паттерны для 0 и 1 - единственная разница - показатель степени. 1 не имеет экспоненты 0, потому что экспоненты смещены. Но 0 - частный случай, поэтому 0 действительно имеет показатель степени 0. –

+0

Это может помочь: http://www.h-schmidt.net/FloatConverter/ –

ответ

4

Нуль, или, точнее, +0.0 представлен четырьмя байтами. Это должно поставить вопрос, поскольку нуль не имеет цифры 1, чтобы игнорировать. Дело в том, что существует один специальный показатель, для которого неявный ведущий 1 не предполагается. Нуль представлен этим показателем, как и так называемые поднормальные номера. И представление этого специального показателя состоит из битов, установленных на ноль.

1.0 представлен с показателем, который составляет примерно половину максимального представимого показателя, поскольку цель IEEE 754 состоит в том, чтобы представить как очень маленькие, так и очень большие числа. Другими словами, экспонента хранится с смещением . Из возможного диапазона, скажем, 0..255, значение экспоненты 0 используется для субнормальных значений и нуля, значение показателя 127 используется для 1.0, 128 используется для 2.0, ... и 254 используется для максимального конечного представимое число. Значение экспоненты 255 используется для более исключительных значений с плавающей запятой (бесконечности и NaN).

В Интернете полно описаний и руководств, поэтому вам не составит труда читать дальше. Вы можете начать с Wikipedia.

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