Toda base numérica usa notação posicional: cada dígito vale dígito × base^posição. O decimal 345 é 3×10² + 4×10¹ + 5×10⁰, e o binário 1101 é 1×2³ + 1×2² + 0×2¹ + 1×2⁰ = 13. Para fazer o caminho inverso, divida sucessivamente pela base de destino e leia os restos de trás para frente: dividindo 13 por 2, os restos são 1, 0, 1, 1, que invertidos dão 1101. Digite em qualquer campo do conversor e as outras três bases são atualizadas na hora.
O hexadecimal usa 0–9 e A–F para os valores 0–15, e cada dígito corresponde exatamente a quatro bits. Um byte (8 bits) são, portanto, dois dígitos hex: 255 = FF = 11111111. Por isso cores (#FF8800), endereços de memória, hashes e endereços MAC são escritos em hex: bem mais curto que o binário e fácil de converter em bits. Cada dígito octal corresponde a três bits, e o uso mais famoso são as permissões do Unix: chmod 755 dá ao dono rwx (7 = 111) e ao grupo e aos demais r-x (5 = 101).
Os números comuns do JavaScript não conseguem representar todos os inteiros acima de 2⁵³ − 1 (9.007.199.254.740.991), e muitos conversores corrompem silenciosamente strings hex longas ou IDs de 64 bits. Esta ferramenta usa BigInt, que mantém inteiros de qualquer tamanho exatos, ideal para IDs de banco de dados, endereços de blockchain e máscaras de bits.
Cada campo aceita apenas dígitos válidos: binário 0–1, octal 0–7, decimal 0–9 e hexadecimal 0–9 e A–F, maiúsculas ou minúsculas. Os prefixos usados em código, 0b para binário, 0o para octal e 0x para hex, são só marcadores: remova-os antes de colar.