10

Javaで16進値をインクリメントできますか?つまり、「16進値」="16進値"++

4

5 に答える 5

17

16進値の格納方法によって異なります。文字列に16進値がある場合は、それを整数に変換し、インクリメントして元に戻します。

int value = Integer.parseInt(hex, 16);
value++;
String incHex = Integer.toHexString(value);
于 2009-02-05T16:19:03.517 に答える
11

簡単な答え:はい。これは

myHexValue++;

長い答え:「16進値」は整数として格納されている可能性があります。それを(通常の10進数ではなく)16進数の文字列に変換するビジネスは、次のように行われます。

Integer.toHexString( myHexValue )

との16進文字列から

Integer.parseInt( someHexString, 16 );

M。

于 2009-02-05T16:20:12.923 に答える
10

「16進値」とはどういう意味ですか?値はどのデータ型に保存されますか?

int / short / char/...最初に値がどのように表されるかは気にしないことに注意してください。

int i1 = 0x10;
int i2 = 16;

i1まったく同じ内容i2なります。Java(および他のほとんどの言語も)は、定数/値の表記を気にしません。

于 2009-02-05T16:16:44.893 に答える
5

はい。とにかくすべてのintはバイナリなので、どのように宣言してもかまいません。

int hex = 0xff;
hex++;  // hex is now 0x100, or 256
int hex2 = 255;
hex2++; // hex2 is now 256, or 0x100
于 2009-02-05T16:17:19.340 に答える
0

数値の基数は、純粋にUIの問題です。内部的には、整数はバイナリとして格納されます。それを人間の表現に変換する場合にのみ、数値ベースを選択します。つまり、質問は「整数をインクリメントする方法」に要約されます。

于 2009-02-05T19:50:06.820 に答える