【问题标题】:C# memory type bigger than ulongC# 内存类型大于 ulong
【发布时间】:2011-11-01 15:10:57
【问题描述】:

我需要在 C# 中进行巨大的幂计算(想想 2 ^ 1,000,000),而 ulong 远远不够。在 .NET 中可能没有更大的实现,但是是否有一些 3rd 方的东西,甚至我可以做的东西会起作用?

【问题讨论】:

    标签: c# math


    【解决方案1】:

    如果您使用的是 .NET Framework 4.0,则可以使用BigInteger。只需添加对System.Numerics 程序集的引用即可。

    如果您无法使用 .NET Framework 4.0,还有很多其他实现,例如 CodeProject 上的 this one

    【讨论】:

    • 哇,从来不知道这个。谢谢!像魅力一样工作!
    【解决方案2】:

    您可以使用 .Net 4.0 中的System.Numerics.BigInteger

    【讨论】:

      【解决方案3】:

      您似乎正在寻找的术语是“任意精度算术”,在 2^1,000,000 的情况下,是任意精度整数。

      .NET 4 中的 System.Numeric.BigIntegers 可能会正常工作。

      如果您需要使用早期版本的 .NET 或任何其他语言,或者需要更多功能或性能,GMP library 是不常见数学的常用停止。 GMP 是用 C 编写的,并且可以通过几乎任何其他语言的包装器获得。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-11-09
        • 1970-01-01
        • 2021-03-28
        • 2023-04-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多