快速计算大浮点数,例如 0.4 ^ 100000000 ,, 有什么想法吗?
嗯...我有一个问题 我有一个特定的计算,结果超过 10^-308 ( double .net 中的最大值),无论如何我通过一个名为 BIGFLOAT 的库解决了这个问题 http://www.fractal-landscapes.co.uk/bigint.html ,
我需要什么来计算类似 0.4 ^(1000 或 100000000) 的东西这个问题需要很长时间我还没有研究并行或分布式编程,但我需要一个快速且易于理解的解决方案 我将在接下来的 6 小时内交付这个项目! :D
这是代码:
private BigFloat getBlocking(double k)
{
double p1, p2;
BigFloat p3;
p3 = new BigFloat(pp);
p1 = this.P / (double)(k / (double)this.N);
p2 = Math.Pow((1 - p1), 2);
p3= new BigFloat(1-p2,pp);
p3.Pow((int)k);
return p3;
}
其中 K 是 1000,N 是 1001
Ehm ... I got a problem
I've a certain calculation that result is over 10^-308 (the biggest value in double .net ) any way I solved this problem through a library called BIGFLOAT http://www.fractal-landscapes.co.uk/bigint.html ,
What ever I need to calculate something like 0.4 ^(1000 or 100000000) the problem it takes very very long time I didn't study parallel or distributed programming yet but I need a solution that is fast and understandable for me
I'm going to deliver this project in next 6 Hours!! :D
Here's the code :
private BigFloat getBlocking(double k)
{
double p1, p2;
BigFloat p3;
p3 = new BigFloat(pp);
p1 = this.P / (double)(k / (double)this.N);
p2 = Math.Pow((1 - p1), 2);
p3= new BigFloat(1-p2,pp);
p3.Pow((int)k);
return p3;
}
where K is 1000 , N is 1001
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果不需要所有数字,则可以使用对数。
(0.4 ^ 100000000)
的对数为log(0.4)*100000000
,完全在常规浮点范围内。If you don't need all the digits, you can get away with using logarithms. The log of
(0.4 ^ 100000000)
islog(0.4)*100000000
, well within the regular floating point range.从您的 C# 项目中下载并引用 Microsoft J# .NET 库 - 以便您可以使用 J# 的 BigDecimal 实现。
请参阅:
C# 中的任意精度小数
和:
任意精度小数C#?
和:
http://geekswithblogs.net/ gyoung/archive/2006/05/01/76869.aspx
以及:
MSDN - BigInteger、GetFiles 等
Download, and reference, the Microsoft J# .NET Library from your C# project - so that you can use J#'s BigDecimal implementation.
See:
Arbitrary-Precision Decimals in C#
and:
Arbitrary precision decimals in C#?
and:
http://geekswithblogs.net/gyoung/archive/2006/05/01/76869.aspx
and:
MSDN - BigInteger, GetFiles, and More