ForHosting KIT · Ferramentas para dev

Conversor de base

Reescreva um número de uma base para outra, da base 2 até a 36: 1010 em binário é 10 em decimal. Valores grandes continuam exatos até o último dígito, e o sinal de menos no início é mantido. Grátis no seu navegador.

  • Grátis
  • Funciona no seu navegador
  • Sem cadastro
  • Seus dados não saem do seu aparelho
Use pelo WebAPIE-mailTelegramApp em breve
Se você digitar
Valor
1010
Base de origem
2
Base de destino
10
Você obtém
Resultado
10

Converte uma cadeia de dígitos de uma radix para outra entre base 2 e base 36 usando inteiros grandes de precisão arbitrária, preservando um sinal de menos inicial opcional.

O que significa de fato mudar de base

Uma base diz quantos dígitos diferentes um sistema de numeração usa antes de passar para uma nova posição. O decimal usa dez, o binário dois, o hexadecimal dezesseis e a base 36 usa os dez dígitos mais as vinte e seis letras. A quantidade nunca muda; muda apenas o jeito de escrevê-la. Por isso 1010 em binário e 10 em decimal são o mesmo número. O conversor lê os seus dígitos na base de origem, calcula o número inteiro que eles representam e o escreve de novo na base de destino. Assim, de binário para hexadecimal, de hexadecimal para decimal ou de decimal para base 36, o processo é sempre o mesmo.

Os erros que este conversor evita

Muitas ferramentas comuns perdem precisão sem avisar quando um número passa de 2^53, e os últimos dígitos de um identificador ou de um resumo longo saem errados. Aqui cada valor é tratado como um inteiro exato de até 200 caracteres, então nada é arredondado. Um dígito que não existe na base de origem, como um 2 em binário ou um G em hexadecimal, é apontado em vez de ignorado. Prefixos como 0x não são aceitos, de modo que a base é sempre a que você escolheu. Só números inteiros são aceitos: uma vírgula decimal ou uma fração não são convertidas.

O mesmo resultado exato em toda conversão

Como a aritmética roda sobre BigInt, não há perda de precisão silenciosa como parseInt e Number.toString(radix) podem sofrer perto e além de 2^53, o que torna isto seguro para hashes grandes, identificadores, valores de cor ou máscaras de bits. Usos comuns incluem conversões de binário para hex e de hex para decimal, codificar IDs em um alfabeto compacto de base 36 e inspecionar como um número aparece em diferentes radices.

Inspeção numérica para desenvolvedores

Converta entre binário, octal, decimal e hexadecimal ao depurar máscaras de bits, flags ou valores de cor.

IDs compactos em base 36

Codifique identificadores decimais grandes em uma cadeia mais curta de base 36, ou decodifique-os de volta exatamente com inteiros grandes.

Ela lida com números muito grandes?

Sim. Os valores são interpretados como BigInt, então a conversão é exata sem perda de ponto flutuante, mesmo além de 2^53.

Números negativos e letras são permitidos?

Um menos inicial é preservado, as letras A-Z servem como dígitos acima de 9, e a entrada é convertida para maiúsculas, então 'ff' é igual a 'FF'.

Como converto binário para hexadecimal?

Escolha 2 como base de origem e 16 como base de destino e digite os dígitos binários. Os mesmos passos valem para qualquer par de bases entre 2 e 36, como de hexadecimal para decimal.

Posso digitar 0x ou 0b antes do número?

Não. Esses prefixos são recusados porque a base é escolhida à parte, e não deduzida a partir do número. Tire o 0x ou o 0b e escolha a base 16 ou a base 2.

Quais dígitos a base 36 usa?

Os dígitos de 0 a 9 seguidos das letras de A a Z, então a base 16 vai até F e a base 36 usa o alfabeto inteiro. Letras maiúsculas e minúsculas contam como o mesmo dígito.

Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.

POSThttps://api.kit.forhosting.com/dev/number-base

Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.

curl -X POST https://api.kit.forhosting.com/dev/number-base \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"value":"FF","from_base":16,"to_base":10}'
{
  "value": "FF",
  "from_base": 16,
  "to_base": 10
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "dev.number_base",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.

por chamadaUS$ 0,002

Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.

max_value_chars200
HTTPCódigoO que significa
401unauthorizedToken ausente ou inválido. Confira o header Authorization.
402insufficient_balanceSaldo insuficiente para esta tarefa. Faça uma recarga e tente de novo.
404unknown_typeEsse tipo de tarefa não existe. Confira o campo type no catálogo.
429rate_limitedMuitas requisições em pouco tempo. Espere um instante e tente de novo.

Conversão de radix com inteiros grandes

Como o valor é mantido como um BigInt em vez de um número JavaScript, as conversões são exatas para magnitudes arbitrariamente grandes sem perda de ponto flutuante. dev.number_base interpreta value como uma cadeia de dígitos em from_base, acumula-o em um BigInt e então recodifica esse inteiro em to_base. Tanto from_base quanto to_base são inteiros na faixa de 2 a 36; os dígitos usam 0-9 seguidos de A-Z, então a base 16 usa 0-F e a base 36 usa o alfabeto completo. A entrada é convertida para maiúsculas antes da interpretação, então o hexadecimal 'ff' e 'FF' são equivalentes, e cada caractere é verificado como um dígito válido estritamente abaixo de from_base — qualquer outra coisa devolve um erro invalid_input tipado. A resposta devolve o value original, from_base, to_base e a cadeia de resultado codificada, então o exemplo binário '1010' da base 2 para a base 10 devolve '10'.

Entrada aceita e regras estritas

value deve ser uma cadeia não vazia com no máximo 200 caracteres, e o resultado codificado também é limitado a 200 caracteres. Um único sinal de menos inicial é permitido e preservado ao longo da conversão de ida e volta, então números negativos são convertidos corretamente, mas prefixos de base são explicitamente rejeitados: qualquer value que comece com 0x, 0X, 0b ou 0B devolve invalid_input, porque a base é dada por from_base, não inferida de um prefixo. Não há suporte a frações ou ponto decimal — apenas inteiros. from_base e to_base devem ambos ser inteiros dentro de 2 a 36; um valor fora dessa faixa, um dígito que não seja legal para a base de origem, uma cadeia vazia ou longa demais, ou um sinal de menos isolado, todos levantam um erro invalid_input tipado com uma mensagem que nomeia a falha, para que quem consome possa capturá-lo e exibi-lo de forma limpa.

Conversão de radix em lote

Chame a API sobre uma coluna de valores para converter um conjunto de dados inteiro entre duas bases em uma única tarefa.

Quais bases são suportadas?

Qualquer radix inteira de 2 a 36 tanto para from_base quanto para to_base, usando os dígitos 0-9 e depois A-Z.

Posso usar prefixos 0x ou 0b?

Não. Valores com prefixo são rejeitados com invalid_input; a radix vem de from_base, não de um prefixo.

Quais são os limites e o custo?

value e result são cada um limitados a 200 caracteres; o widget do navegador é gratuito e a API fatura apenas tarefas bem-sucedidas a US$ 0,002.

Ver a documentação completa do KIT →