簡體   English   中英

在Java中將Signed Int轉換為Unsigned String值

[英]Converting Signed Int to Unsigned String value in Java

為了簡短起見,我得到一個帶符號的數字,-25771(在Java中),我需要無符號字符串表示,即“4294941525”。 Java認為這個數字是二進制補碼,但我需要它的無符號值。

我注意到整數的toString()方法的Javadoc只轉換為帶符號的表示。

是否有一個按位操作,如“&0xFF”,我可以做到無符號數?

我會嘗試

int val = -25771;
System.out.println(Long.toString(val & 0xFFFFFFFFL));

版畫

4294941525

要么

"" + (val & 0xFFFFFFFFL)

在Java 8中,您可以使用Integer.toUnsignedString(int i)

您可以使用Guava的UnsignedInts.toStringparseUnsignedInt來反轉該過程。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM