Я выполнял некоторые вычисления округления и наткнулся на вопрос. Как я могу выразить наибольшее количество меньше 1 для данного типа с плавающей запятой?
То есть, как я пишу / представляю значение x
таким образом, что x <1, x + y> = 1
для любого y> 0
.
В дробях это будет be x = (q-1) / q
, где q
- точность типа. Например, если вы считаете с шагом 1/999
, тогда x = 998/999
.
Для данного типа (float, double, long double), как можно выразить значение x
в коде?
Мне также интересно, действительно ли такое значение существует для всех значений y
. То есть, поскольку показатель y
становится меньше, возможно, отношение больше не выполняется. Так что ответ с некоторым ограничением диапазона на y
также приемлем. (Значение x
, которое я хочу, все еще существует, связь может просто неправильно выражать это.)