2010-06-28 33 views
8

Java或C++中可能有128位整数吗?如何在Java或C++中表示128位整数?

+2

您需要更具体地了解您的要求。只是表示应该是明显可能的:long a,b表示一对128位的64位数字。 – unwind 2010-06-28 12:19:09

+1

@unwind:long在某些编译器上可能是32位。 '__int64'或'long long'至少为64位,但是不是标准扩展。 – Brian 2010-06-28 13:45:30

+0

可能重复[在C++中的大整数](http://stackoverflow.com/questions/1815803/big-integers-in-c) – MSalters 2010-06-28 14:17:47

回答

9

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

-8

写你自己的类和操作来表示128位数或使用一些可用的库。

+2

我可以看到为什么“写你自己或不写你自己”被视为不够有用。这是你的'同伴压力'徽章的机会:) – 2010-07-07 08:44:47

0

BigInteger类设计用于大于Long.MAX_VALUE的整数值。

13

当然你可以代表他们。您可以使用16个元素的字节数组。

然而,问题是,如果你只是想代表值或者做一些实际的计算它。

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

0

当然,你可以使用的BigInteger类的java.math包。 该类提供模块化算术运算,GCD计算,素数测试,素数生成,比特操作等操作。

本课程已添加JDK1.1本身。

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