首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何提高到指数的幂?

如何提高到指数的幂?
EN

Stack Overflow用户
提问于 2013-04-12 01:40:38
回答 1查看 739关注 0票数 0

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

是这条路吗?

代码语言:javascript
复制
Math.pow(98,Math.exp(8))
EN

回答 1

Stack Overflow用户

发布于 2013-04-12 13:41:50

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

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

代码语言:javascript
复制
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());

它产生输出

代码语言:javascript
复制
5.77130918514205 E 5935
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15961731

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档