我运行AWK 代码,我得到了
The factorial of 200 is inf
这表明 AWK 没有使用与 Python 相同的 int IEEE-standard -module。看来AWK的限制是170!。
如何让 AWK 像 Python 一样理解大整数?
从这里:
所有数字(包括整数)的内部表示均使用双精度浮点数。在大多数现代系统上,这些都是 IEEE 754 标准格式。
Python 可以有任意长度的整数,具体取决于可用内存。这与 IEEE 754 无关。顺便说一句,该标准给出了双精度浮点数的限制,大约为 10^(+/-308)。log10(factorial(171)) 的值 > 309。另请参阅Double Precision和What Every Scientist Should Know About Floating-Point Arithmetic。