问题

在C中,我喜欢访问64位无符号整数,通过unsigned long long int或viauint64_t。现在,在Java中,long是64位,我知道。但是,他们签了名。

是否有一个unsigned long(long)可用作Java原语?我该如何使用它?


#1 热门回答(125 赞)

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

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

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

String l1Str = Long.toUnsignedString(l1)

然后

System.out.println(l1Str);

#2 热门回答(52 赞)

我不相信。一旦你想要超过签名长,我认为BigInteger是唯一(开箱即用)的方式。


#3 热门回答(12 赞)

不,没有。你必须使用原始long数据类型并处理签名问题,或使用类525274495。


原文链接