首页 / 知识

关于不可知的语言:大量类的最高效实现

2023-04-13 02:53:00

关于不可知的语言:大量类的最高效实现

Most efficient implementation of a large number class

当对整数数据类型(例如double或int64)不足的非常大的数字进行计算时,可能需要一个单独的类来处理如此大的数字。

是否有人愿意提供一种关于如何最好地做到这一点的有效算法?


有2种解决方案来解决您的问题:

  • 简单的方法:
    使用外部库,例如" GNU MP Bignum库,而无需考虑实现细节。

  • 艰辛的道路:
    设计自己的包含多个高阶数据类型(如double或int64变量)的类/结构,并使用运算符重载(在C ++中)或通过名为add,subtract,multipli,shift等的方法(在JAVA和其他OO中)为其定义基本的数学运算。语言)。

让我知道您是否需要其他帮助。我过去已经做过几次了。


在C#4.0中,使用BigInteger类型


您要问的是任意精度算术,这是一本写书的主题。如果您只想为C#提供一个简单而高效的BigNum库,则可能要签出IntX。


使用语言的内置功能对我有用。

Java具有BigIntegerBigDecimal,并且如果数字超出integer或其他范围,Python会自动切换到类似于Java的对象。

至于其他语言,我也不知道。

我讨厌重新发明轮子。


做自己的BigNum库很复杂,所以我会像jjnguy这样说。使用您的语言提供的任何内容作为库。

在.net中,引用VisualJ dll,因为它们包含BigInteger和BigDecimal类。但是,您应该注意这些库的某些限制,例如缺少平方根方法。


语言数字计算数据类型

最新内容

相关内容

热门文章

推荐文章

标签云

猜你喜欢