Como funciona um sistema de numeração posicional
Todo sistema de numeração posicional representa um valor pela posição de cada dígito, multiplicada por potências da base. No decimal (base 10), o número 205 significa 2 vezes 100, mais 0 vezes 10, mais 5 vezes 1. No binário (base 2), cada casa vale o dobro da anterior, então 1101 é 8 mais 4 mais 0 mais 1, ou seja, 13 em decimal. A mesma lógica vale para octal (base 8) e hexadecimal (base 16). Converter entre bases é reescrever o mesmo valor com outro conjunto de dígitos: o número não muda, só a forma de anotá-lo.
Por que a programação usa binário e hexadecimal
O binário e o hexadecimal aparecem tanto em programação por causa de como o computador guarda dados. A máquina trabalha em binário, já que cada bit é um estado ligado ou desligado, e oito bits formam um byte. O hexadecimal entra como forma compacta de escrever esses bits: cada dígito hexadecimal equivale a exatamente quatro bits, então um byte cabe em dois dígitos, de 00 a FF. Por isso cores em CSS, endereços de memória, códigos Unicode e valores em depuração costumam vir em hexadecimal. O octal, base 8, é mais raro hoje, mas ainda aparece nas permissões de arquivo do Unix.
O que são números de precisão arbitrária
Números de precisão arbitrária são inteiros que podem ter qualquer quantidade de dígitos, limitados só pela memória, e é isso que permite converter valores enormes sem erro. Um número comum em JavaScript é seguro apenas até 2 elevado a 53 menos 1, cerca de 9 quatrilhões; acima disso, ele começa a arredondar e perde dígitos. Este conversor usa BigInt, o tipo de inteiro grande da linguagem, então uma sequência longa em hexadecimal vira exatamente o binário correspondente, dígito a dígito, sem aproximação. Isso importa ao lidar com identificadores, chaves ou máscaras de bits que passam do tamanho de um número normal.
Como usar esta ferramenta
- Digite um número em qualquer um dos campos: binário, octal, decimal ou hexadecimal.
- Veja os outros três campos serem convertidos automaticamente.
- Copie o valor convertido com o botão ao lado de cada campo.
Perguntas Frequentes (FAQ)
- A ferramenta converte números grandes?
- Sim. O conversor usa números inteiros de precisão arbitrária (BigInt), então funciona mesmo com valores maiores do que o limite seguro de um número comum do JavaScript.
- O que acontece se eu digitar um dígito inválido para a base?
- O campo é marcado com um aviso de erro e os outros campos não são alterados, evitando que um valor incompleto ou inválido propague uma conversão errada.
