0

是否可以在 C# 中获得多达 1000 个十进制数字?

我的程序需要至少 1000 个小数点的 pi 值。

4

4 回答 4

3

那么您可以使用数组来模拟一个数字,例如,如果您需要计算 a(有 100000 位)加上 b(有 99999 位):

 a:     a[100000]     a[99999]      a[99998]   ... a[1]           a[0]
+b:                   b[9999]       b[99998]   ... b[1]           b[0]
----------------------------------------------------------------------------
                                     ...   a[1]+b[1]+Carry      a[0]+b[0]
于 2012-07-08T02:59:52.483 回答
2

是的,但不使用内置数据类型。 十进制是你能做的最好的,只有 28 到 29 位有效数字。

您将需要一个任意精度的库,或者您需要重新审视您的设计并确定您是否真的需要 1000 个十进制数字。

如果您只是想将 Pi 计算到 1000 位,则可以使用一些函数来计算 Pi 的第 n 位。此时,您可以简单地将结果存储在一个数组中

于 2012-07-08T02:44:04.067 回答
2

如果您仍在寻找其他答案的替代方法,请查看Bailey Borwein Plouffe公式来计算 Pi 的第 n 位数字。您可以使用它来计算前 1000 位数字。

在此处输入图像描述

于 2012-07-08T02:54:24.280 回答
1

您需要使用任意精度算术。我不确定本地 C# 库,但 GMP 说它有一个 C# 包装器。

您还可以使用 J# 的 BigDecimal。

这是一个类似的问题。

于 2012-07-08T02:40:23.203 回答