За IEEE 754-2008:
- NaN: Если поле экспоненты - все единицы, а поле значимости и не равно нулю, датум с плавающей точкой - это NaN, независимо от поля знака. Предпочтительно, QNaN имеет ведущий бит значимого и поля 1, а сигнальный NaN имеет 0, но это не требуется.
- Бесконечно: Если поле экспоненты равно всем единицам, а поле значимостей равно нулю, значение будет равно (−1) с • ∞, где s является знаковым полем. ( Т.е. , + ∞, если знак равен 0, и −∞, если знак равен 1.)
- Нормальный: Если поле экспоненты не является ни всеми нулями, ни всеми, то базовое значение равно (−1) s • (1 + f • 2 - q ) • 2 e - смещение , где с - поле знака, f - поле значимого, q - число битов в поле значимого, e - поле экспоненты, и смещение - это смещение экспоненты (127 для 32-битной плавающей запятой).
- Субнормальный: Если в поле экспоненты все нули, а в поле значимости и нет, то это значение (-1) с • (0 + f • 2 - q ) • 2 1 - смещение . Обратите внимание на два отличия от нормального: 0 добавляется к значению вместо 1, а 1 используется для показателя степени (до вычитания смещение ). Это означает, что субнормалы имеют тот же показатель степени, что и наименьшие нормали, но уменьшаются при уменьшении значения.
- Ноль: Если поле экспоненты - все нули, а поле значимостей - также все нули, то величина данных равна (−1) с • 0 (Обратите внимание, что IEEE 754 различает +0 и -0.)
Показатель степени, используемый с субнормальными значениями, равен 1, а не 0, поэтому числа меняются от (нормальных) 1.000… 000 • 2 1−127 до (субнормальных) 0.111… 111 • 2 1– 127 . Если использовать 0, будет скачок до 0,0111… 1111 • 2 1−127 .
Формула для значений субнормалей работает и для нулей. Таким образом, нули на самом деле не должны быть перечислены отдельно выше.