JavaScript中math.pow的替代函数

JavaScript中math.pow的替代函数,javascript,jquery,angularjs,Javascript,Jquery,Angularjs,我在代码中使用了Math.pow()函数,但当我尝试执行以下条件时,该函数返回的是不需要的无穷大。我正在寻找替代解决方案 math.pow(451939.2743641065399) 如果有人有任何想法,请帮助使用日志 你期望得到什么结果?结果非常大,超过了传统浮点格式的表示能力。如果这在现实计算中真的有必要,我会感到惊讶。你能提供一些背景吗 如果真的有必要,也许你可以用对数来解决这些困难。如果y=Math.pow(451939299),则 数学日志(y)=数学日志(451939)*299 您可

我在代码中使用了
Math.pow()
函数,但当我尝试执行以下条件时,该函数返回的是不需要的无穷大。我正在寻找替代解决方案

math.pow(451939.2743641065399)

如果有人有任何想法,请帮助使用日志 你期望得到什么结果?结果非常大,超过了传统浮点格式的表示能力。如果这在现实计算中真的有必要,我会感到惊讶。你能提供一些背景吗

如果真的有必要,也许你可以用对数来解决这些困难。如果y=Math.pow(451939299),则 数学日志(y)=数学日志(451939)*299

您可以通过添加/减去日志来执行任何乘法/除法操作,然后在最后执行Math.exp以生成结果

这可能比使用像bignumber.js这样的特殊库来实现任意精度的算术更容易。例如,下面的代码返回“7.395117980030695 x 10^1690”,小数点前有1691位数字

让log10Y=Math.log(451939.27436410653)*299/Math.log(10);
设b=数学楼层(log10Y);
设a=log10Y-b;
日志(“回答:”,10**a,“x10^”,b)使用日志
你期望得到什么结果?结果非常大,超过了传统浮点格式的表示能力。如果这在现实计算中真的有必要,我会感到惊讶。你能提供一些背景吗

如果真的有必要,也许你可以用对数来解决这些困难。如果y=Math.pow(451939299),则 数学日志(y)=数学日志(451939)*299

您可以通过添加/减去日志来执行任何乘法/除法操作,然后在最后执行Math.exp以生成结果

这可能比使用像bignumber.js这样的特殊库来实现任意精度的算术更容易。例如,下面的代码返回“7.395117980030695 x 10^1690”,小数点前有1691位数字

让log10Y=Math.log(451939.27436410653)*299/Math.log(10);
设b=数学楼层(log10Y);
设a=log10Y-b;

日志(“回答:”,10**a,“x10^”,b)如果您想存储如此庞大的数字,您可以使用类似的库。它存储浮点值,其指数与存储浮点值所需的指数一样大。

如果要存储如此庞大的数字,可以使用类似的库。它存储的浮点值的指数与存储浮点值所需的指数一样大。

这不是Math.pow()的问题,而是您的值的问题。它太大了,不能这样计算你知道你要计算的是一个惊人的巨大数字,对吗<代码>无限
似乎是一个现实的答案!谷歌的计算器放弃了,但它是一个1690位长的数字!在可观测的宇宙中大约有
Math.pow(10,82)
原子。你在数什么?@DavidConrad冒着学究的风险,重要的不是数字的绝对数,而是值的log_2:DUse jQuery,它无所不能!这不是Math.pow()的问题,而是您的值的问题。它太大了,不能这样计算你知道你要计算的是一个惊人的巨大数字,对吗<代码>无限
似乎是一个现实的答案!谷歌的计算器放弃了,但它是一个1690位长的数字!在可观测的宇宙中大约有
Math.pow(10,82)
原子。你在数什么?@DavidConrad冒着学究的风险,重要的不是数字的绝对数,而是值的log_2:DUse jQuery,它无所不能!阅读文档:“它接受数字类型(最多15位有效数字)、字符串或BigNumber对象的值。”您可以给它一个字符串,或者让JavaScript对数字进行四舍五入。阅读文档:“它接受数字类型(最多15位有效数字)、字符串或BigNumber对象的值。”您可以给它一个字符串,也可以让JavaScript对数字进行四舍五入。