10 進数を 16 進数に変換する
$num
num で指定した符号なし整数値を 16 進数表現した文字列を返します。
num
変換できる最大の数字は、32 ビットプラットフォームの場合は PHP_INT_MAX * 2 + 1 (-1) です。これは 10 進数で表すと 4294967295 であり、 dechex が返す結果は ffffffff になります。
PHP_INT_MAX
* 2 + 1
-1
4294967295
ffffffff
変換したい 10 進数値。
PHP の int は符号付き整数ですが、 dechex ではこれを符号なし整数として扱います。 つまり、負の整数を渡しても、それを符号なし整数として処理します。
num を 16 進文字列で表した値を返します。
例1 dechex の例
<?php echo dechex(10) . "\n"; echo dechex(47); ?>
上の例の出力は以下となります。
a 2f
例2 dechex での大きな整数の例
<?php // 以下の出力例は 32 ビットプラットフォームでのものです。 // すべての結果が同じになることに注目しましょう。 echo dechex(-1)."\n"; echo dechex(PHP_INT_MAX * 2 + 1)."\n"; echo dechex(pow(2, 32) - 1)."\n"; ?>
ffffffff ffffffff ffffffff