Java 相当于无符号长长?

在 C++ 中,我喜欢访问 64 位无符号整数、via 或 via 。现在,在Java中,长线是64位,我知道。但是,它们是签名的。unsigned long long intuint64_t

是否有无符号的 long(long)可用作 Java 原语?我该如何使用它?


答案 1

从 Java 8 开始,支持无符号长整型(无符号 64 位)。您可以使用它的方式是:

Long l1 = Long.parseUnsignedLong("17916881237904312345");

要打印它,您不能简单地打印l1,但您必须首先:

String l1Str = Long.toUnsignedString(l1)

然后

System.out.println(l1Str);

答案 2

我不这么认为。一旦你想比签下长条更大,我认为BigInteger是唯一(开箱即用)的路。