如何在Java中使用BigInteger类实现一个无符号的64位int?

前端之家收集整理的这篇文章主要介绍了如何在Java中使用BigInteger类实现一个无符号的64位int?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在寻找一个精确容量为0到2 ^ 64 – 1的数据类型.我们知道 Java不支持’unsigned’限制字符数据类型.

有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发布的问题没有实现细节.

解决方法

您经常可以使用Java的签名数字数据类型,就像它们是未签名的.

参见这个old answer关于Java的签名与无符号.

猜你在找的Java相关文章