2009-02-05 5 views
5

можете ли вы увеличить шестнадцатеричное значение в Java? то есть «шестнадцатеричное значение» = «шестнадцатеричное значение» ++Increment a Hex value (JAVA)

+1

Значение является значением, почему представление (двоичное/восьмеричное/шестнадцатеричное/и т. Д.) Имеет значение в этом случае? –

+1

Вы должны попробовать сами, прежде чем спросить ... так легко проверить и изучить самостоятельно. –

ответ

10

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

Обратите внимание, что INT/короткий/символ/... не все равно, как представлено ваше значение первоначально:

int i1 = 0x10; 
int i2 = 16; 

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

3

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

int hex = 0xff; 
hex++; // hex is now 0x100, or 256 
int hex2 = 255; 
hex2++; // hex2 is now 256, or 0x100 
11

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

int value = Integer.parseInt(hex, 16); 
value++; 
String incHex = Integer.toHexString(value); 
9

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

myHexValue++; 

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

Integer.toHexString(myHexValue) 

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

Integer.parseInt(someHexString, 16); 

М.

+0

Или String.format ("% x", myHexValue); –

0

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