java中的c ++等价无符号算术

Pro*_*aos 1 java

我正在尝试将c ++代码段转换为java.这很简单.我有一个带有值的字节输入-121.有一个例程将它转换为无符号整数,并使用base 16将其转换为字符串,我得到"ffffffffffffff87"

我不知道如何在Java中获得相同的字符串.这就是我尝试过的

byte b = -121;
int iVal = Integer.MAX_VALUE + b + 1;
String str = Integer.toString(iVal, 16);
// prints "7fffff87"
Run Code Online (Sandbox Code Playgroud)

如何获得与c ++相同的字符串?

Daw*_*ica 5

你想要的Long.toHexString(b).这是ffffffffffffff87什么时候返回.b-121