Я отлаживаю программу на C++. Существует переменная x
типа double, gdb выводит ее значение как inf
. Тем не менее, следующее выражение возвращает false
, даже если значение x
не изменилосьЧто такое inf в gdb
x == std::numeric_limits<double>::max()
Когда GDB говорит inf
, это не означает, что максимальное возможное значение для данного типа (двойные)? Если нет, то что это значит?
Я уверен, что + INF и -INF сидят на числовой строке. В частности, они сидят в обоих концах. Более формально обе бесконечности упорядочены относительно конечных чисел. – MSalters
Кроме того, «каждое потенциальное значение между 1,79E308 и + INF (и буквально бесконечность их)» немного вводит в заблуждение. Существует ровно столько рациональных чисел между 1.0 и 2.0, либо между 0.01 и 0.02, или pi и e. Я признаю, что математика может быть довольно противоречивой. – MSalters
Определение этого * вида * бесконечности, которое я нахожу особенно полезным, - это число x, которое больше y для любого значения y. – Bathsheba