|
|
1
6
您通常可以使用Java签名的数字数据类型,就像它们是未签名的一样。 看到这个 old answer 关于Java中的签名与无符号。 |
|
|
2
3
为什么不自己写一个包装器,下面用一个有符号的long。如果用户希望将无符号值作为bigInteger获取,请测试符号并将2^64添加到bigInteger。 |
|
|
3
2
可以使用biginger.valueof(l)从long创建biginger,其中l是long。 但如果你想用精确的64位,我会用长的。 |
|
4
2
您可能需要创建一个uint64类,它封装了一个bigInteger;您还可以检查每个操作(add、mul等)是否返回一个无符号的64位bigInteger;模拟溢出可能很棘手
|
|
|
5
1
BigInteger S是不变的,正如你所发现的。您可能希望研究大整数的子类化,并编写自己的构造函数来验证输入,并在相关范围内发出一个正的大整数。 要保持数字只使用64位的要求,可能还需要重载各种操作,因此它们限制结果并返回新类的实例,而不是新的biginger。 这可能是相当多的工作,但仍应远远好于从头开始做这一切。 |
|
|
6
1
可以将值0到2^64-1存储为长值。 许多操作按预期工作,但是大多数api和一些操作仅在假定已签名的操作时工作,但是存在解决方法。 然而,使用bigInteger可能更容易让你头脑清醒。;) |
|
|
7
1
在Java SE 8和以后,您可以使用长数据类型来表示一个无符号的64位长,它的最小值为0,最大值为2 ^ 64 -1。 |
|
|
user29759326 · 如何返回递归函数中的最后一个值? 1 年前 |
|
|
malife89 · 将java中的字符串读取为正确的日期格式 1 年前 |
|
|
Tim · 在java中,有没有更快的方法将字节数组写入文件? 1 年前 |
|
|
rudraraj · java中未声明最终变量 1 年前 |
|
|
Bala Ji · 以下BFS的实施效率如何? 1 年前 |