これを短くするために、署名された番号 -25771 (Java で) を取得しています。これには、「4294941525」である符号なしの文字列表現が必要です。Java は数値が符号付きの 2 の補数であると認識していますが、符号なしの値が必要です。
Integers の toString() メソッドの Javadoc は符号付き表現にのみ変換されることに気付きました。
「& 0xFF」などの符号なし数値を取得するためのビット操作はありませんか?
これを短くするために、署名された番号 -25771 (Java で) を取得しています。これには、「4294941525」である符号なしの文字列表現が必要です。Java は数値が符号付きの 2 の補数であると認識していますが、符号なしの値が必要です。
Integers の toString() メソッドの Javadoc は符号付き表現にのみ変換されることに気付きました。
「& 0xFF」などの符号なし数値を取得するためのビット操作はありませんか?
Java 8 では、そのまま使用できますInteger.toUnsignedString(int i)
。
やってみます
int val = -25771;
System.out.println(Long.toString(val & 0xFFFFFFFFL));
プリント
4294941525
また
"" + (val & 0xFFFFFFFFL)