0

您如何表示大于 32 或 64 位处理器允许的数字的整数运算。我正在尝试编写一个小型 Java 计算器,输入必须是一串数字,然后必须将其转换为二进制或 base-10 表示。然后必须从另一个也必须转换的数字字符串中添加、乘、除或减去它。显然,像 Python 和 Ruby 这样的语言可以处理像“9999999999999999999”+“999999999999999999”这样的事情。但是从 Java 的角度来看,我不确定这样做的方法。

我首先定义了一个带有构造函数的新类,该构造函数可以解析字符串是否实际上是一串数字。至于将它们转换为二进制或 base-10 以及我能做些什么,但是当我向此类添加方法(如加法、减法、乘法和划分。

任何概念性的想法,无论大小,都是有帮助的。提前致谢!

4

2 回答 2

3

看看BigIntegerBigDecimal类。两者都是任意精度的实现。因此,它们显然比数字文字具有更大(和非常量)的开销。顾名思义,BigInteger仅用于整数,而BigDecimal可以存储任何有理十进制数。

此外,有时使用它们可能会很痛苦,因为 Java 不支持运算符重载,因此您不能使用 Java 的数学运算符。请改用类的方法。

于 2013-03-17T20:08:21.653 回答
1

尝试使用 BigInteger 类。它旨在处理大量数据。

于 2013-03-17T20:10:17.987 回答