Как печатать шестнадцатеричные числа в PHP или Java

Мне нужно распечатать некоторые данные (немного странно отформатированные). Я писал его на PHP с if ($ num% 10 == 9), но для меня было невозможно получить правильный вывод.

Итак, взгляните на это, например. У нас есть x файлов в папке. Для этого примера x = 36. X всегда известен.

Результат должен выглядеть следующим образом:

01
02
03
04
05
06
07
08
09
0a
0b
0c
0d
0e
0f
10
11
...
19
1a
...
1f
20
...
24

Извините за такой длинный "список", но я считаю, что теперь вы знаете, что мне нужно. Итак, после каждого числа, которое заканчивается на 9, мы имеем num (a, b, c, d, e, f), а затем число, которое следует за предыдущим числом с 9 на конце. (Пример 3а... 3f, 40..49). И самое главное, что количество печатных строк должно быть равно x.

Если возможно, я бы предпочел PHP или Java-код, но я буду очень благодарен за любую помощь.

Ответ 1

Вам нужно напечатать числа от 1 до 30 в шестнадцатеричной системе. Попробуйте этот метод для каждой строки:

dechex ( int $number )

Ответ 2

Для Java:

System.out.println(Integer.toHexString(number));

или

System.out.println(String.format("%x", number));

У последнего больше опций для форматирования шестнадцатеричной строки.

Ответ 3

    for ( int i=1 ; i <= x; i++ ) {
        System.out.printf("%02x\n", i);
    }

Ответ 4

Это будет печатать шестнадцатеричное число 01-24 (с заполнением 0 перед номерами менее 10)

for ($i = 1; $i <= 36; $i++) {
    printf("%02x\n", $i);
}

Ответ 5

<?php
function blah($n) {
  for($i=1;$i<=$n;$i++) {
    printf("%02x\n", $i);
  }
}

blah(36);
?>

01
02
03
04
05
06
07
08
09
0a
0b
0c
0d
0e
0f
10
11
12
13
14
15
16
17
18
19
1a
1b
1c
1d
1e
1f
20
21
22
23
24