array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'ja', ), 'this' => array ( 0 => 'function.dechex.php', 1 => 'dechex', ), 'up' => array ( 0 => 'ref.math.php', 1 => 'Math 関数', ), 'prev' => array ( 0 => 'function.decbin.php', 1 => 'decbin', ), 'next' => array ( 0 => 'function.decoct.php', 1 => 'decoct', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'ja', 'path' => 'reference/math/functions/dechex.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 4, PHP 5, PHP 7, PHP 8)
dechex — 10 進数を 16 進数に変換する
num
で指定した符号なし整数値を 16 進数表現した文字列を返します。
変換できる最大の数字は、32 ビットプラットフォームの場合は
PHP_INT_MAX
* 2 + 1
(-1
) です。これは 10 進数で表すと
4294967295
であり、
dechex() が返す結果は ffffffff
になります。
num
変換したい 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