Код:
echo $hex = dechex("10000000000000000000");
echo '<br>';
echo number_format(hexdec($hex), 0, '.', '');
Результат:
7fffffffffffffff
9223372036854775808
Вопрос: можно ли перевести число больше 9223372036854775808 в hex?
Можно написать свои функции конвертации и работать со строками, а не с числами через функции для произвольной точности вычислений
<?php
function bchexdec($hex) {
if(strlen($hex) == 1) {
return hexdec($hex);
} else {
$remain = substr($hex, 0, -1);
$last = substr($hex, -1);
return bcadd(bcmul(16, bchexdec($remain)), hexdec($last));
}
}
function bcdechex($dec) {
$last = bcmod($dec, 16);
$remain = bcdiv(bcsub($dec, $last), 16);
if($remain == 0) {
return dechex($last);
} else {
return bcdechex($remain).dechex($last);
}
}
var_dump($hex = bcdechex("10000000000000000000"));
var_dump(bchexdec($hex));
Результат:
string(16) "8AC7230489E80000"
string(20) "10000000000000000000"
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Подскажите инструмент для анализа полного последовательного вызова функций и методов с указанием передаваемых аргументов при выполнении...
Пытаюсь запустить/собрать WPF приложение, которое находится вместе сnet core приложением в одном решении