0
当前编写一个程序将十六进制转换为十进制。下面是我的代码:将十六进制转换为十进制得到不正确的结果
public class HexTest {
public static void main (String [] args) {
int z = 0xDeadCafe;
System.out.println("z = " + z);
}
}
当我运行我的程序,它告诉我:z = -559035650
然而,当我使用十六进制到十进制转换器测试0xDeadCafe
它给我不同的结果,这是3735931646
。我可否知道我的代码有问题,并导致我得到不正确的结果?
我明白你的意思,我现在已经改变INT长,但它仍然给我签名的价值。我可以知道如何获得无符号值吗? – Ian
@Ian:我已经展示了两种不同的版本 - 或者使用长文字开始,或者用“长32位”设置掩盖它。 –
谢谢。有用。 – Ian