HexString&十六进制

时间:2012-09-13 20:37:51

标签: java

谁能告诉我这两者之间的区别?看起来相似,但输出不同

    int b = 80 ;
    int a = Integer.parseInt(""+b, 16);
    int c = Integer.parseInt(Integer.toHexString(b));

3 个答案:

答案 0 :(得分:4)

int a = Integer.parseInt(""+b, 16)"80"解释为基数为16的数字,并将其设置为其值(基数为10 128)。

int c = Integer.parseInt(Integer.toHexString(b))首先将基数10中的80转换为基数16(即50),然后将其解释为基数10中的数字,即50

答案 1 :(得分:0)

一个转换为十进制并将其解析为hexi-decimal。

另一个转换为hexi-decimal并将其解析为十进制。

如果它没有任何意义,这是一件好事。 ;)

答案 2 :(得分:0)

第一个表达式Integer.parseInt(""+b, 16)将值80解析为十六进制数(0x80),得到十进制数128.

第二个表达式Integer.parseInt(Integer.toHexString(b))首先将十进制数80转换为十六进制(Integer.toHexString(b)),得到十六进制数50(0x50),然后将其解析为十进制数,得到十进制数50。