IEEE 754 законы идентичности: буквальное значение и оптимизация, меняющая значение - PullRequest
1 голос
/ 19 марта 2019

Стандарт IEEE 754-2008 говорит, что для выражений типа 0 + x и 1 * x может быть применено свойство идентификации (§ 10.4):

Применение свойства тождества 1 × x, когда x не является сигнальным NaN, и результат имеет тот же показатель степени, что и x.

Мне интересно, что означает "результат имеет тот же показатель степени, что и x"?

1 Ответ

0 голосов
/ 19 марта 2019

Я думаю, что они имеют в виду поле экспоненты двоичного представления.

Умножение на 1 не меняет экспоненту даже для QNaN, даже если значительно изменяется значимость (полезная нагрузка NaN). Все NaN имеют одинаковую кодировку экспоненты. (Бесконечность - это единичный показатель со значениеми = 0; все остальное пространство кодирования для этого значения показателя расходуется на полезные нагрузки NaN, которые в основном никто не использует.)

Для любого не-NaN тривиально верно то, что поле экспоненты не изменяется, когда вы умножаете на 1. Также не значат и не подписывают бит. (IIRC, 1.0 * -0.0 = -0.0).

...