【发布时间】:2010-10-20 12:40:33
【问题描述】:
我正在寻找一种容量为 0 到 2^64 - 1 的数据类型。我们知道 Java 不支持“无符号”禁止字符数据类型。
BigInteger 类允许创建长数据类型无法支持的更大数字。但我不确定 BigInteger 类将如何服务于我的目的。 BigInteger 类只允许通过构造函数进行赋值。我看到以下可能性,但它会生成一个随机数。
BigInteger(int numBits, Random rnd)
Constructs a randomly generated BigInteger, uniformly distributed over the range 0 to (2^numBits - 1), inclusive.
我看不到任何 setValue(x) 类型的 API 可以让我为这个 BigInteger 选择我自己的值。如何使用 BigInteger 类来实现这一点,或者还有其他方法吗?请发布代码示例。
PS:某人here发的问题没有实现细节。
【问题讨论】:
-
您能否明确说明您需要该数据类型的确切原因以及您想用它做什么?可能有一些方法可以简化问题...
-
C++ 支持这样的数据类型。我正在与 C++ 交互,并认为在 Java 端也有类似的数据类型会更好,而不是必须在 C++ 端操作数据并进行转换。
-
对于另一种方法,请在此处查看我的答案:stackoverflow.com/questions/508630/…