【PHP】10進数から16進数、16進数から10進数に変換する関数「dechex()」「hexdec()」
今回はPHPで使用できる、10進数を16進数に変換できる「octdec()」関数、16進数から10進数に変換する「hexdec()」関数を使用してみます。
16進数…。2進数を8進数を勉強してきましたが、そこからの法則性ではどのようなものか想像できませんね。16進数がどのようなものかも少し触れながら関数を覚えていきましょう。
10進数と16進数とは?
10進数は私達が普段使用している数値だと思って頂けたら大丈夫だと思います。「0」からスタートし、一つずつ増加するごとに「1,2,3,…」と、どんどん増加していきます。
一方16進数は「9」から「10」にあがる前に「A~F」のアルファベットが入ります。「…9,a,b,c,d,e,f,10,11,12…」という感じですね。
ちなみに「19」の次は「1a」となります。
| 10進数 | 16進数 |
| 1 | 1 |
| 2 | 2 |
| 3 | 3 |
| 4 | 4 |
| 5 | 5 |
| 6 | 6 |
| 7 | 7 |
| 8 | 8 |
| 9 | 9 |
| 10 | A |
| 11 | B |
| 12 | C |
| 13 | D |
| 14 | E |
| 15 | F |
| 16 | 10 |
| 17 | 11 |
| … | … |
10進数の数値を16進数に変換する「dechex()」関数
|
1 |
dechex(10進数から16進数に変換したい数値) |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
<?php //dechex(10進数から16進数に変換したい数値); $test1 = 9; $test2 = 10; $test3 = 31; $test4 = 100; echo dechex($test1)."<br>"; echo dechex($test2)."<br>"; echo dechex($test3)."<br>"; echo dechex($test4); ?> //実行結果 9 // $test1 a // $test2 1f // $test3 64 // $test4 |
16進数を10進数に変換する「hexdec()」関数
|
1 |
hexdec(16進数から10進数に変換したい数値) |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
<?php //hexdec(10進数から16進数に変換したい数値); $test1 = 9; $test2 = "a"; $test3 = "1f"; $test4 = 64; echo hexdec($test1)."<br>"; echo hexdec($test2)."<br>"; echo hexdec($test3)."<br>"; echo hexdec($test4); ?> //実行結果 9 //$test1 10 //$test2 31 //$test3 100 //$test4 |