Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

155
Visualizações
I would like to change a string of numbers of length 54 characters from base 10 to base 16 in js or php
<?php
    function base16($str){
        $str = base_convert($str,10,16);
        echo $str;
    }
    base16("000012345678920190113163721231000011101000000000100001");

    //8727f63a15f8a0000000000000000000000000000
?>

I have this number array in base 10

000012345678920190113163721231000011101000000000100001

and the expected result should be

8727F63A15F8976591FDDE5B387C5D015A29E06A1
about 4 years ago · Juan Pablo Isaza
3 Respostas
Responde à pergunta

0

You can use BigInt to solve this in JS

console.log(
  BigInt(
      "000012345678920190113163721231000011101000000000100001"
  ).toString(16)
)

about 4 years ago · Juan Pablo Isaza Relatório

0

You can try this-

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;
}
?>

Then

<?php
convBase('000012345678920190113163721231000011101000000000100001', '0123456789', '0123456789ABCDEF');
?>

parameters->

dataToConvert
fromBase
toBase
about 4 years ago · Juan Pablo Isaza Relatório

0

Can you use GMP ?

<?php
$str = '000012345678920190113163721231000011101000000000100001';
echo strtoupper(gmp_strval(gmp_init($str, 10), 16));
// 8727F63A15F8976591FDDE5B387C5D015A29E06A1
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda