Подтвердить что ты не робот

Целое число с шестью шестью в Java

Мне нужно изменить целочисленное значение на 2-значное шестнадцатеричное значение в Java. Для этого существует какой-либо способ. Благодаря

Мое самое большое число будет 63, а наименьшее - 0. Я хочу начальный нуль для небольших значений.

4b9b3361

Ответ 2

Integer.toHexString(42);

Javadoc: http://docs.oracle.com/javase/6/docs/api/java/lang/Integer.html#toHexString(int)

Обратите внимание, что это может дать вам более двух цифр! (Целое число - 4 байта, поэтому вы могли бы вернуть 8 символов.)

Вот немного взлома, чтобы получить дополнение, если вы абсолютно уверены, что имеете дело только с однобайтовыми значениями (255 или меньше):

Integer.toHexString(0x100 | 42).substring(1)

Много больше (и лучше) решений в Левые прописные целые числа (не десятичный формат) с нулями в Java.

Ответ 3

String.format("%02X", (0xFF & value));    

Ответ 4

Используйте Integer.toHexString(). Не забудьте проложить ноль, если вы только закончите с одной цифрой. Если ваше целое больше 255, вы получите более двух цифр.

StringBuilder sb = new StringBuilder();
sb.append(Integer.toHexString(myInt));
if (sb.length() < 2) {
    sb.insert(0, '0'); // pad with leading zero if needed
}
String hex = sb.toString();

Ответ 5

Если вам просто нужно их распечатать, попробуйте следующее:

for(int a = 0; a < 255; a++){
    if( a % 16 == 0){
        System.out.println();
    }
    System.out.printf("%02x ", a);
}

Ответ 6

По 'hex' Я предполагаю, что вы имеете в виду строку шестнадцатеричных символов, для которой вы можете использовать Integer.toHexString(50). Очевидно, если ваше целое число превышает 255, вы не будете иметь шестизначное значение из двух цифр.