问题
在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。