В рубине некоторые большие числа больше бесконечности. Через двоичный поиск я обнаружил:
(1.0/0) > 10**9942066.000000001 # => false
(1.0/0) > 10**9942066 # => true
RUBY_VERSION # => "2.3.0"
Почему это? Что особенного в 10 9942066? Это не похоже на произвольное число, например, 9999999, оно не близко к какой-либо силе двух (оно приблизительно равно 2 33026828.36662442).
Почему бесконечность бесконечного рубинового? Как участвует 10 9942066?
Теперь я понимаю, что любое число, большее 10 9942066 перейдет на бесконечность:
10**9942066.000000001 #=> Infinity
10**9942067 #=> Infinity
Но это все еще оставляет вопрос: Почему 10 9942066?