Увеличить значение Hex (JAVA) - PullRequest
7 голосов
/ 05 февраля 2009

Вы можете увеличить шестнадцатеричное значение в Java? то есть "шестнадцатеричное значение" = "шестнадцатеричное значение" ++

Ответы [ 5 ]

13 голосов
/ 05 февраля 2009

Зависит от того, как хранится шестнадцатеричное значение. Если у вас есть шестнадцатеричное значение в строке, конвертируйте его в целое число, увеличивайте и возвращайте обратно.

int value = Integer.parseInt(hex, 16);
value++;
String incHex = Integer.toHexString(value);
10 голосов
/ 05 февраля 2009

Краткий ответ : да. Это

myHexValue++;

Более длинный ответ : Вероятно, ваше «шестнадцатеричное значение» хранится в виде целого числа. Преобразование в шестнадцатеричную (в отличие от обычной десятичной) строку выполняется с помощью

Integer.toHexString( myHexValue )

и из шестнадцатеричной строки с

Integer.parseInt( someHexString, 16 );

М.

10 голосов
/ 05 февраля 2009

Что вы имеете в виду под "шестнадцатеричным значением"? В каком типе данных хранится ваше значение?

Обратите внимание, что int / short / char / ... не волнует, как изначально отображается ваше значение:

int i1 = 0x10;
int i2 = 16;

i1 и i2 будут иметь точно такое же содержание . Java (и большинство других языков) не заботятся о обозначениях ваших констант / значений.

4 голосов
/ 05 февраля 2009

Да. В любом случае все целые числа являются двоичными, поэтому не имеет значения, как вы их объявляете.

int hex = 0xff;
hex++;  // hex is now 0x100, or 256
int hex2 = 255;
hex2++; // hex2 is now 256, or 0x100
0 голосов
/ 05 февраля 2009

Основа числа является чисто пользовательским интерфейсом. Внутренне целое число хранится в двоичном виде. Только когда вы преобразуете его в человеческое представление, вы выбираете числовую базу. Итак, ваш вопрос действительно сводится к "как увеличить целое число?".

...