12

是否可以在 Java 或 C++ 中使用 128 位整数?

4

6 回答 6

16

你当然可以代表他们。

至少您可以使用具有 16 个元素的字节数组

但是,问题是您是否只想表示该值或实际使用它进行一些计算

在 Java 中,您可以使用BigInteger(有效地)表示任意大小的整数值进行计算。

于 2010-06-28T12:19:24.753 回答
14

在 Java 中,您可以使用BigInteger类来存储任意大的整数。在 C++ 中,您可以使用GMP之类的库来获得相同的功能。

于 2010-06-28T12:18:16.650 回答
2

你可以。不过,您很可能需要使用库来执行此操作,至少对于 C++ 而言。

我喜欢PolarSSL库或GNU MP Bignum库。

于 2010-06-28T12:19:13.113 回答
1

该类BigInteger是为大于 then 的整数值设计的Long.MAX_VALUE

于 2010-06-28T12:18:49.287 回答
0

当然,您可以使用java.math 包中的BigInteger类。此类提供模运算、GCD 计算、素数测试、素数生成、位操作等操作。

JDK1.1本身已经添加了这个类。

但我不知道 C++ 库内置了这样的可用性。可以有来自第三方的可扩展 API。

于 2010-06-28T13:39:09.477 回答
0

java.math.BigInteger

要处理大于 64 位(long 的大小)的整数,请使用 java.math.BigInteger。此类表示无界整数,并提供了许多对它们进行算术运算的方法。

http://leepoint.net/notes-java/data/numbers/10biginteger.html

如果您需要十进制值,请使用BigDecimal

于 2010-06-28T12:22:56.023 回答