При поиске значения бесконечности я обнаружил, что:
В случае Python 3.7 INFINITY > INFINITY - 1
возвращает False
и возвращает то же самое, если мы делаем INFINITY < INFINITY - 1
.
В случае C ++ я получаю тот же результат, что и False
.
Это происходит потому, что у нас нет правильного определения для INFINITY
? Прямо сейчас мы просто знаем, что это просто огромное число, и мы не можем сказать, что INFINITY
начинается после некоторого определенного числа 'X'
.
Возвращаясь к проблеме:
Теперь некоторое число x
явно больше, чем x-1
. Почему это не так с INFINITY
?
Код Python:
A = float('inf')
B = float('inf')
print(A > B-1) # returns False
print(A < B-1) # returns False
C ++ код:
#include <iostream>
#include <limits>
using namespace std;
int main() {
double a = numeric_limits<double>::infinity();
double b = numeric_limits<double>::infinity();
if (a>(b-1)){cout<<"TRUE";}
else {cout<<"FALSE"<<endl;} //returns else part- FALSE
if (a<(b-1)){cout<<"TRUE";}
else {cout<<"FALSE";} //returns else part- FALSE
return 0;
}
Для любого другого number = 10
, number > number - 1
вернет True
и number < number - 1
вернет False
.