Невозможно увеличить внутренний предел AWK для факториала

StackOverflow https://stackoverflow.com/questions/1041617

  •  22-07-2019
  •  | 
  •  

Вопрос

Я запускаю код 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 и Что должен знать каждый ученый об арифметике с плавающей точкой .

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top