ele*_*n81 104 java primitive unsigned unsigned-long-long-int
在C++中,我喜欢访问64位无符号整数,via unsigned long long int
或via uint64_t
.现在,在Java中,long是64位,我知道.但是,他们签了名.
是否有一个unsigned long(long)可用作Java原语?我该如何使用它?
Amr*_*Amr 134
从Java 8开始,支持无符号长(无符号64位).你可以使用它的方式是:
Long l1 = Long.parseUnsignedLong("17916881237904312345");
Run Code Online (Sandbox Code Playgroud)
要打印它,你不能简单地打印l1,但你必须先:
String l1Str = Long.toUnsignedString(l1)
Run Code Online (Sandbox Code Playgroud)
然后
System.out.println(l1Str);
Run Code Online (Sandbox Code Playgroud)
Sea*_*ght 55
我不相信.一旦你想要超过签名长,我认为BigInteger是唯一(开箱即用)的方式.
不,没有.Java的设计者正在记录中说他们不喜欢无符号的整数.请改用BigInteger.有关详情,请参阅此问题.
Java 8提供了一组无符号长操作,允许您直接将那些Long变量视为unsigned Long,这里有一些常用的:
对于有符号和无符号长整数,加法,减法和乘法是相同的.
归档时间: |
|
查看次数: |
205147 次 |
最近记录: |