代码之家  ›  专栏  ›  技术社区  ›  Icemanind

新的BigInteger

  •  4
  • Icemanind  · 技术社区  · 15 年前

    .NET 4.0现在有了新的数据类型,System.Numeric.BigInteger. 据我所知,这可以容纳多达一百万位的数字。可以对这个数字执行简单的算术运算。我想知道的是微软是如何实现这样一个东西的,因为它显然会超过32位,甚至64位。怎么不溢出来?

    5 回复  |  直到 15 年前
        1
  •  5
  •   Adam Robinson    15 年前

    算术运算已经在超过本机整数(和浮点)大小的结构上执行了相当长的一段时间。这通常是通过将较大结构上的单个概念算术运算(例如加法)转换为多个本机类型上的一系列运算来完成的。

        2
  •  3
  •   Dolph    15 年前

    BigInteger使用 Arbitrary Precision Mathematics

    在计算机科学中,任意精度算术是一种技术,通过这种技术,只对精度数字受主机系统可用内存限制的数字进行计算。

    仅当需要处理非常大的数字时才使用:

    任意精度用于运算速度不是限制因素的应用中,或需要非常大数字的精确结果的应用中。

        3
  •  2
  •   John Mills    15 年前

    数组赋予类型存储如此大的数字的能力,方法和运算符隐藏了处理复杂结构的细节,使其易于使用。

        4
  •  1
  •   deinst    15 年前

        5
  •  1
  •   David Basarab    15 年前

    关于大整数结构的几个问题

    让你表演不同的数学 还有许多运算符和类型 为BigInteger定义的转换 你可以像往常一样使用大整数 整数。看看大整数

    从这个 blog

    我也会读上面作者的建议 MSDN 文档。

    推荐文章