小编shi*_*tai的帖子

为什么此十六进制值得到不同的十进制值?

我想使用十六进制值动态设置一个整数变量,但是当我使用Integer.parse(hexValue, 16)它时,它得到的值不同于设置为int a = 0x04A7D488

例如:

int a = 0x04A7D3B8;
System.out.println("a = " + a); // prints 78107576

int b = Integer.parseInt("04A7D3B8", 16); 
System.out.println("b = " + b); // prints 78107784
Run Code Online (Sandbox Code Playgroud)

为什么我得到不同的值?如何动态设置变量a与值0x04A7D3B8

注意:我发现此错误仅发生在Java SDK 1.8.0_171上。

java

6
推荐指数
1
解决办法
134
查看次数

标签 统计

java ×1