Как неявная 1 хранится и дифференцируется с 0 для субнормальных значений?
Я думаю, что понимаю, почему мы рассматриваем это как неявную 1 и нормализуем, как представлены значения и все такое. Моя единственная проблема заключалась в том, какова машинная сторона, например, как различаются неявные 1 и 0, когда значение считывается/интерпретируется машиной. Не знаю, правильно ли я спрашиваю. В основном, как машина различает нормализованное и субнормальное число.
Как это интерпретируется, учитывая, что существует только 32 бита, а неявная 1 не включена в эти биты?
Как 0 для субнормальных отличается от 1 машиной?
Когда дело доходит до точности и прецизионности, что можно сказать о плавающей запятой? Было бы правильно сказать, что по мере увеличения фактической степени точность уменьшается, а инверсия соответственно? Как точность влияет на это?
1 ответ
Как это интерпретируется, учитывая, что существует только 32 бита, а неявная 1 не включена в эти биты?
Как 0 для субнормальных отличается от 1 машиной?
Если все биты в поле экспоненты равны нулю, то старший бит мантиссы равен нулю. (Неверно называть его неявным битом; формально он определяется как функция поля экспоненты, поэтому это указано явно.)
Если биты в поле экспоненты не являются ни нулями, ни единицами, то старший бит мантиссы равен единице.
Если все биты в поле экспоненты равны единицам, то объект с плавающей запятой представляет либо бесконечность (если в поле мантиссы все нули), либо NaN (в противном случае).
Значения поля экспоненты 0 и 1 фактически кодируют одну и ту же экспоненту, −126 для формата «одинарной точности» IEEE-754 (binary32). Значение поля экспоненты e , где 0 < e < 255, кодирует значение экспоненты E = e - 127, поэтому 1 кодирует -126. Значение поля экспоненты, равное 0, также кодирует -126; единственная разница между значениями поля экспоненты 0 и 1 заключается в том, что 0 означает, что начальный бит мантиссы равен 0, а 1 означает, что начальный бит мантиссы равен 1.
- Когда дело доходит до точности и прецизионности, что можно сказать о плавающей запятой?
Было бы правильно сказать, что по мере увеличения фактической степени точность уменьшается, а инверсия соответственно?
Точность обычно относится к количеству цифр в мантиссе, поэтому она не меняется при изменении показателя степени. Точность числа одинарной точности IEEE-754 составляет 24 бита.
Как точность влияет на это?
Точность зависит от того, как используется арифметика и данные, с которыми она используется. Точность результатов с плавающей запятой может варьироваться от нуля до бесконечности или NaN. Некоторые виды использования чисел с плавающей запятой «стабильны» и дают хорошие результаты, близкие к идеальным. Некоторые виды использования нестабильны и дают ошибочные результаты.