是否可以在 Java 或 C++ 中使用 128 位整数?
6 回答
你当然可以代表他们。
至少您可以使用具有 16 个元素的字节数组。
但是,问题是您是否只想表示该值或实际使用它进行一些计算。
在 Java 中,您可以使用BigInteger
(有效地)表示任意大小的整数值并进行计算。
在 Java 中,您可以使用BigInteger类来存储任意大的整数。在 C++ 中,您可以使用GMP之类的库来获得相同的功能。
你可以。不过,您很可能需要使用库来执行此操作,至少对于 C++ 而言。
我喜欢PolarSSL库或GNU MP Bignum库。
该类BigInteger
是为大于 then 的整数值设计的Long.MAX_VALUE
。
当然,您可以使用java.math 包中的BigInteger类。此类提供模运算、GCD 计算、素数测试、素数生成、位操作等操作。
JDK1.1本身已经添加了这个类。
但我不知道 C++ 库内置了这样的可用性。可以有来自第三方的可扩展 API。
java.math.BigInteger
要处理大于 64 位(long 的大小)的整数,请使用 java.math.BigInteger。此类表示无界整数,并提供了许多对它们进行算术运算的方法。
http://leepoint.net/notes-java/data/numbers/10biginteger.html
如果您需要十进制值,请使用BigDecimal