11

I need to print some data (a little bit strange formatted). I was writing it in PHP with if ($num%10==9) but it was impossible for me to get correct output.

So take a look at this for example. We have x of files in folder. For this example x=36. X is always known.

Output should look like this:

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

Sorry for the such a long "list" but I believe that you know what I need now. So, after each number which ends with 9 we have num(a,b,c,d,e,f) and then number which follows previous number with 9 on the end. (Ex. 3a...3f,40..49). And what is most important is that the number of printed lines must be equal to x.

If possible, I would prefer PHP or Java code but I will be very grateful for any kind of help.

mtk
  • 13,221
  • 16
  • 72
  • 112
Splendid
  • 1,317
  • 4
  • 20
  • 41

5 Answers5

30

For Java:

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

or

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

The latter has more options for formatting the hex string.

Falaina
  • 6,625
  • 29
  • 31
9

You need to print the numbers 1 to 30 in hexadecimal notation. Try this method for each line:

dechex ( int $number )
Michael Sofaer
  • 2,927
  • 24
  • 18
7
    for ( int i=1 ; i <= x; i++ ) {
        System.out.printf("%02x\n", i);
    }
OscarRyz
  • 196,001
  • 113
  • 385
  • 569
objects
  • 8,637
  • 4
  • 30
  • 38
4

This will print hexadecimal 01-24 (with 0 padding in front of numbers less than 10)

for ($i = 1; $i <= 36; $i++) {
    printf("%02x\n", $i);
}
jimyi
  • 30,733
  • 3
  • 38
  • 34
1
<?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
Unknown
  • 45,913
  • 27
  • 138
  • 182