следующий выше / ниже IEEE номер двойной точности

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

Сложность заключается в том, что формат IEEE не является полностью унифицированным. Если использовать низкоуровневый код и фактически добавить его к младшему значащему биту, результирующий формат может не быть следующим доступным двойным. Это может быть, например, номер особого случая, такой как PositiveInfinity или NaN. Существуют также субнормальные значения, которые, как я утверждаю, не понимают, но которые, кажется, имеют определенные битовые комбинации, отличные от «нормальных». шаблон.

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

Я действительно не понимаю, почему IEEE не указал функцию для получения следующего более высокого или более низкого значения. Я не могу быть единственным, кому это нужно.

Есть ли способ получить следующее значение (без какого-либо цикла, который пытается добавить все меньшие и меньшие значения).

Ответы на вопрос(6)

Ваш ответ на вопрос