Невозможно увеличить внутренний предел AWK для факториала
Вопрос
Я запускаю код AWK и получаю р>
The factorial of 200 is inf
Это говорит о том, что AWK не использует тот же стандартный модуль IEEE, что и Python. Кажется, что предел AWK составляет 170!
Как вы можете заставить AWK понимать такие большие целые числа, как Python?
Решение
здесь :
Внутреннее представление всех чисел, включая целые числа, использует числа с плавающей запятой двойной точности. В большинстве современных систем они представлены в стандартном формате IEEE 754.
Python может иметь целые числа любой длины в зависимости от доступной памяти. Это не зависит от IEEE 754. Кстати, этот стандарт дает предел двойной точности с плавающей точкой около 10 ^ (+/- 308). Значение log10 (factorial (171)) равно > 309. См. Также Double Precision и Что должен знать каждый ученый об арифметике с плавающей точкой .