0

これら2つの違いを教えてもらえますか?見た目は似てるけど出力が違う

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

3 に答える 3

4

int a = Integer.parseInt(""+b, 16)"80"16 進数として解釈し、a をその値 ( 12810 進数) に設定します。

int c = Integer.parseInt(Integer.toHexString(b))は、最初80に 10 進数を 16 進数 ( 50) に変換し、次にこれを 10 進数 ( ) の数値として解釈し50ます。

于 2012-09-13T20:41:02.233 に答える
0

最初の式Integer.parseInt(""+b, 16)は、値80を16進数(0x80)として解析しているため、10進数は128になります。

2番目の式Integer.parseInt(Integer.toHexString(b))は、最初に10進数80を16進数(Integer.toHexString(b))に変換して16進数50(0x50)にし、次に10進数として解析して10進数50にします。

于 2012-09-13T20:45:46.763 に答える
0

1 つは 10 進数に変換され、16 進数として解析されます。

もう 1 つは 16 進数に変換し、10 進数として解析します。

意味がないならそれでいい。;)

于 2012-09-13T20:41:39.270 に答える