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

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

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类。但是,您应该注意这些库的某些限制,例如缺少平方根方法。


推荐阅读

    计算机主板BIOS设置详细-BIOS知识

    计算机主板BIOS设置详细-BIOS知识,,什么是电脑BIOS,一般电脑主板已经设置完毕后,电脑就开始按del键进入BIOS。系统启动BIOS,即微机的基本输入

    计算机蓝屏故障的计算机蓝屏解决方案

    计算机蓝屏故障的计算机蓝屏解决方案,,电脑蓝屏电脑故障经常使用电脑的朋友经常遇到,因为电脑蓝屏是一个非常普遍的现象,所以很难预测,什么时

    计算机自动关机的原因是什么

    计算机自动关机的原因是什么,,计算机(计算机),通常称为计算机,是一种用于高速计算的电子计算机。它可以进行数值计算和逻辑计算,还具有存储记忆

    电脑功率计算|电脑功率计算公式

    电脑功率计算|电脑功率计算公式,,电脑功率计算公式  从设计角度出发一般取300w/台基本都可以满足要求,可以从以下几个方面分析一下电脑功

    如何设置计算机视图视图的统一视图

    如何设置计算机视图视图的统一视图,,不知道你是否有这样的使用电脑经验,电脑在不同的文件夹打开,有时这个文件夹是用来查看列表的方式,但是当

    的故障_计算机解决无法打印文档

    的故障_计算机解决无法打印文档,,核心提示:最近,打印机出现了一个奇怪的现象,在打印正常之前,打印机不能打印最近的突然,提示发送打印作业,计算

    wps插入罗马字符页码|wps插入罗马数字

    wps插入罗马字符页码|wps插入罗马数字,罗马,页码,插入,字符,1.wps怎样插入罗马数字WPS里面插入罗马数字的方法(以WPS文字为例): (1)使用WPS里面

    PC计算机:AMDCPU核心细节

    PC计算机:AMDCPU核心细节,,核心提示:AthlonXP的核心型athlonxp有4种不同的核心类型,但都有个共同点:他们都使用socketa接口,他们都使用PR标称值