Javascript 如何提升到指数的幂?

Javascript 如何提升到指数的幂?,javascript,math,Javascript,Math,如何使用JavaScript计算提升到exp(13-5)幂的98 这是路吗 Math.pow(98,Math.exp(8)) 当我需要处理会溢出标准浮点类型的大正数时,我会将这些数字存储为该数字的日志。因此,我将计算exp(8)*log(98),而不是将98乘以exp(8)的幂。我(还)没有遇到这样的情况,即使是这种方法也不足以存储我需要的数字。然而,我遇到过几种情况,其中正确的答案涉及将非常非常大的数字乘以非常非常小的数字,在这种情况下,如我所述,使用日志可以避免导致错误答案的溢出/下溢 更

如何使用JavaScript计算提升到exp(13-5)幂的98

这是路吗

Math.pow(98,Math.exp(8))

当我需要处理会溢出标准浮点类型的大正数时,我会将这些数字存储为该数字的日志。因此,我将计算exp(8)*log(98),而不是将98乘以exp(8)的幂。我(还)没有遇到这样的情况,即使是这种方法也不足以存储我需要的数字。然而,我遇到过几种情况,其中正确的答案涉及将非常非常大的数字乘以非常非常小的数字,在这种情况下,如我所述,使用日志可以避免导致错误答案的溢出/下溢

更新:我怀疑这是一个关于如何绕过98^exp(8)对于标准浮点类型来说太大的问题的家庭作业问题。在这种情况下,我认为使用日志的建议很有用。例如,要用C#打印数字,可以执行以下操作:

double x = Math.Exp(13 - 5) * Math.Log(98);  // the number required is exp(x)
int exponent = (int)Math.Floor(x / Math.Log(10));
double absissae = Math.Exp(x - exponent * Math.Log(10));
System.Diagnostics.Trace.WriteLine(absissae.ToString() + " E " + exponent.ToString());
哪一个产生输出

5.77130918514205 E 5935

你试过了吗?当我运行它时,它返回“无穷大”。如果你想把98提高到欧拉常数的指数,到8,那么是的。但是,在大多数JS环境中,这可能会给您带来“无限”是的。。。现在我知道Math.exp是什么了,你想把98提高到“几乎3000次方”。。。。所以你说的是一个相当大的数字。所以您正确地执行了计算,但JavaScript的数字系统无法将结果表示为数字。查看JavaScript可以代表的最大数量的一些信息。感谢您的回复。我认为我没有得到正确的数字,这些数字又是从不同的公式推导出来的。我会检查并发回这里另一个问题是…ln(x)和Math.log(x)一样吗?