Учитывая число с плавающей запятой x
, я хотел бы найти наибольшее число с плавающей запятой, которое меньше x
.Как я могу сделать это в Python?
Я пытался вычесть эпсилон машины из x
(x - numpy.finfo(float).eps
), но для достаточно больших чисел с плавающей запятой x
, и мне нужно значение, которое я получаюобратно быть строго меньше, чем x
.
Есть некоторая информация о том, как это сделать в C # здесь , но я понятия не имею, как сделать такое же побитовое преобразование в Python.Кто-нибудь знает, как это сделать, или есть другой метод для получения того же значения?
(проблема с большим изображением - я пытаюсь численно найти корень уравнения с особенностью x
,в пределах 0 < root < x
. Решатель (реализация Scipy's toms748) оценивает границы, и он не может обрабатывать значения nan или inf, поэтому я не могу дать ему точно x
в качестве границы. Я не знаюнасколько близко корень может быть к границе, поэтому я хочу дать границу, максимально близкую к x
, без фактического получения бесконечного значения и сбоя решателя.)