<?php function base16($str){ $str = base_convert($str,10,16); echo $str; } base16("000012345678920190113163721231000011101000000000100001"); //8727f63a15f8a0000000000000000000000000000 ?>Tengo esta matriz de números en base 10
000012345678920190113163721231000011101000000000100001y el resultado esperado debe ser
8727F63A15F8976591FDDE5B387C5D015A29E06A1Puedes usar BigInt para resolver esto en JS
console.log( BigInt( "000012345678920190113163721231000011101000000000100001" ).toString(16) )Puedes probar esto-
function convBase($numberInput, $fromBaseInput, $toBaseInput) { if ($fromBaseInput==$toBaseInput) return $numberInput; $fromBase = str_split($fromBaseInput,1); $toBase = str_split($toBaseInput,1); $number = str_split($numberInput,1); $fromLen=strlen($fromBaseInput); $toLen=strlen($toBaseInput); $numberLen=strlen($numberInput); $retval=''; if ($toBaseInput == '0123456789') { $retval=0; for ($i = 1;$i <= $numberLen; $i++) $retval = bcadd($retval, bcmul(array_search($number[$i-1], $fromBase),bcpow($fromLen,$numberLen-$i))); return $retval; } if ($fromBaseInput != '0123456789') $base10=convBase($numberInput, $fromBaseInput, '0123456789'); else $base10 = $numberInput; if ($base10<strlen($toBaseInput)) return $toBase[$base10]; while($base10 != '0') { $retval = $toBase[bcmod($base10,$toLen)].$retval; $base10 = bcdiv($base10,$toLen,0); } return $retval; } ?>Después
<?php convBase('000012345678920190113163721231000011101000000000100001', '0123456789', '0123456789ABCDEF'); ?>parámetros->
dataToConvert fromBase toBase