dechex

(PHP 4, PHP 5, PHP 7, PHP 8)

dechex10 進数を 16 進数に変換する

説明

dechex(int $num): string

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 1)."\n";
echo 
dechex(pow(232) - 1)."\n";
?>

上の例の出力は以下となります。

ffffffff
ffffffff
ffffffff

参考

  • hexdec() - 16 進数を 10 進数に変換する
  • decbin() - 10 進数を 2 進数に変換する
  • decoct() - 10 進数を 8 進数に変換する
  • base_convert() - 数値の基数を任意に変換する

関連キーワード:  変換, dechex, 整数, num, 符号, ffffffff, decoct, int, 出力, decbin