ProfiPHPProfiPHP
Категория: Математические функции

Функция Dechex

Функция Dechex переводит число из десятичной системы счисления в шестнадцатеричную.
string dechex( int $number )
Функция Dechex возвращает строку, содержащую шестнадцатеричное представление указанного безнакового аргумента Number.

Наибольшее число, которое может быть преобразовано - PHP_INT_MAX * 2 + 1 (или -1): на 32-битных платформах это 4294967295 в десятеричной системе, что конвертируется функцией Dechex в ffffffff.
echo dechex( 4294967295 ); // ffffffff
В параметре Number указывается десятичное значение для преобразования.

Поскольку тип PHP Integer является знаковым, а Dechex работает с безнаковыми целыми, то отрицательные целые воспринимаются как безнаковые. Если использовать минусовые значения параметра Number, тогда оно будет отсчитываться от максимального значения:
echo dechex( 4294967295 ); // ffffffff
echo dechex( -1 ); // ffffffff

echo dechex( 4294967294 ); // fffffffe
echo dechex( -2 ); // fffffffe
...
echo dechex( 2147483648 ); // 80000000
echo dechex( -2147483648 ); // 80000000
Для 64-битных машин систем преобразование происходит аналогичным образом, только с разницей диапазона значений. Обычно максимальное десятичное значение - 9223372036854775807 и 7fffffffffffffff в шестнадцатеричной системе:
echo dechex( 9223372036854775807  ); // 7fffffffffffffff

Добавить комментарий

Имя:
Текст комментария: