代码之家  ›  专栏  ›  技术社区  ›  Nils Pipenbrinck

如何在.NET中表示非常大的整数?

  •  26
  • Nils Pipenbrinck  · 技术社区  · 16 年前

    NET是否附带了一个能够表示非常大的整数的类,例如100阶乘?如果没有,有哪些好的第三方库可以实现这一点?

    5 回复  |  直到 10 年前
        1
  •  17
  •   Colonel Panic    12 年前

    .NET4有一个 BigInteger

    表示任意大的有符号整数。

    BigInteger类型是一种不可变类型,它表示一个任意大的整数,其值在理论上没有上限或下限。此类型不同于.NET Framework中的其他整数类型,后者的范围由其MinValue和MaxValue属性指示。

        2
  •  13
  •   Haacked    16 年前

    .NET有一个BigInteger类,但不幸的是,它是内部的。然而,有几个地方有自己的。您可以从IronPython、CodeProject或Visual J#中获取实现。我不得不说,我自己没有试过,所以我不知道哪一个是最好的。

    http://www.codeplex.com/IronPython http://www.codeproject.com/KB/cs/biginteger.aspx http://msdn.microsoft.com/en-us/magazine/cc163696.aspx

        3
  •  11
  •   Brian Leahy    16 年前

    Microsoft.FSharp.Math.Types.BigInt

    它可以表示任何整数。

        4
  •  5
  •   Shiraz Bhaiji    15 年前
        5
  •  4
  •   Luke Quinane George    16 年前

    Mono已经有了一个公共BigInteger实现:

    http://www.go-mono.com/docs/index.aspx?link=T:Mono.Math.BigInteger

    您只需抓取Mono.Security程序集即可使用它;因为它是一个Mono类库,所以也应该获得麻省理工学院的许可。